2009-08-26 14 views

Respuesta

1

Para que la aplicación funcione, necesitará el tiempo de ejecución. De hecho, lo primero que ocurre cuando se inicia la aplicación es una llamada al sistema operativo para iniciar JRE. No puedes prescindir de JRE.

[Por supuesto, puede incluir JRE en su aplicación si lo desea].

+0

Por lo que yo sé, no estás equivocado, pero tengo curiosidad; ¿Por qué es este el caso? Hay algunas utilidades diferentes (py2exe es una) que empaqueta el intérprete de Python con un instalador. – Imagist

+0

El objetivo de las máquinas virtuales es que desea abstraer la aplicación del sistema operativo subyacente. Otro ejemplo es la recolección de basura. No hay forma de que la recolección de basura funcione sin que alguien pase por alto la aplicación y se ocupe de liberar memoria cuando el objeto se sale del alcance. Esto es hecho por el JRE. – Sesh

1

GCJ puede crear código nativo a partir de archivos fuente de Java. Here's un tutorial sobre cómo construirlo en Windows.

+0

¿Puede usted decir qué tan bueno GCJ se ocupa de las características de Java 1.5 y 1.6? – Vanya

+1

Lo último que supe es que solo funciona con JDK 1.4, lo cual es una lástima. – Cinder6

6

Puede enviar el JRE con su aplicación y usar ese JRE para su aplicación. El efecto es el mismo: la aplicación se iniciará a través de un archivo ejecutable (envoltorio necesario) o script (lote) y la máquina de destino no necesita tener instalado un runtime java.

Java no tienen que ser 'instalado', sólo tiene que ser 'presente'.

1

He usado JSmooth para excretar mi aplicación. También permite incrustar un JRE dentro. Acabo de utilizar el "asegúrese de que al menos Java X esté disponible".

GPL, se puede ejecutar como una tarea ant.

0

¿Has probado install4j? Hay varias versiones, algunas gratis, de este concepto. Básicamente, esta aplicación compila su aplicación en un instalador ejecutable, específico para el sistema operativo de su elección.

0

bien dado el hecho de que usted está solicitando un archivo ejecutable (.exe) en Windows, hay otro enfoque:

Uso IKVM.NET - Bytecode Compiler que convierte el código de bytes de Java para DLL de .NET y exe.

Obtenga la última versión de IKVM.NET here.

Use este comando

ikvmc -target:exe -out:foo.exe yourJarFile.jar 

para crear su archivo ejecutable .NET.

Después de esto, se puede utilizar el exe con el IKVM DLL obligatoria de o si lo prefiere un archivo EXE, puede utilizar ILMerge con el fin de obtener un único archivo ejecutable:

ILMerge.exe /target:winexe /targetplatform:"v4,C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1" /out:C:\foo\bar.exe foo.exe <IKVM dll's>.dll 
Cuestiones relacionadas