Compilar un programa java en un ejecutable [duplicado]
Posible duplicado:
¿Cómo creo un .exe para un programa Java?
Acabo de crear un programa simple con Eclipse y quiero compilarlo en un ejecutable, pero parece que no puedo descubrir cómo hacerlo.
Puede convertir un archivo .jar a .exe de estas maneras: (fuente: viralpatel.net ) 1- Contenedor JSmooth .exe:
JSmooth es un contenedor ejecutable de Java. Crea lanzadores nativos de Windows (.exe estándar) para sus aplicaciones Java. Hace que la implementación de Java sea mucho más fluida y fácil de usar, ya que es capaz de encontrar cualquier VM Java instalada por sí mismo. Cuando no hay ninguna VM disponible, el contenedor puede descargar e instalar automáticamente una JVM adecuada, o simplemente mostrar un mensaje o redirigir al usuario a un sitio web.
JSmooth proporciona una variedad de contenedores para su aplicación Java, cada uno de ellos con su propio comportamiento: ¡Elija su gusto!
Descargar: http://jsmooth.sourceforge.net/
2- JarToExe 1.8
Jar2Exe es una herramienta para convertir archivos jar en archivos exe. Las siguientes son las características principales que se describen en su sitio web:
- Puede generar "Consola", "GUI de Windows", "Servicio de Windows" tres tipos de archivos exe.
- Los archivos exe generados pueden agregar íconos de programas e información de versión.
- Los archivos exe generados pueden cifrar y proteger programas Java; no se generarán archivos temporales cuando se ejecute el programa.
- Los archivos exe generados brindan soporte para los íconos de la bandeja del sistema.
- Los archivos exe generados brindan soporte para el registro de eventos del sistema de registro.
- Los archivos exe del servicio de Windows generados pueden instalarse/desinstalarse solos y admiten la pausa/continuación del servicio.
- Nuevo lanzamiento de la versión x64, puede crear ejecutivos de 64 bits. (18 de mayo de 2008)
- Se admiten tanto el modo asistente como el modo de línea de comando. (18 de mayo de 2008)
Descargar: http://www.brothersoft.com/jartoexe-75019.html
3- Executor
Empaquete su aplicación Java como un jar y Executor convertirá el jar en un archivo exe de Windows, indistinguible de una aplicación nativa. Simplemente haciendo doble clic en el archivo exe se invocará Java Runtime Environment y se iniciará su aplicación.
Descargar: http://mpowers.net/executor/
EDITAR: El enlace anterior está roto, pero aquí está la página (con la descarga funcional) de Internet Archive. http://web.archive.org/web/20090316092154/http://mpowers.net/executor/
4- Instalador avanzado
El instalador avanzado le permite crear instalaciones MSI de Windows en minutos. Este también es compatible con Windows Vista y también ayuda a crear paquetes MSI en otros idiomas.
Descargar: http://www.advancedinstaller.com/
Déjame saber otras herramientas que hayas utilizado para convertir JAR a EXE.
Usaría GCJ (Compilador GNU para Java) en su situación. Es un compilador AOT (anticipado) para Java, muy parecido a GCC para C. En lugar de interpretar código o generar código Java intermedio para que la máquina virtual Java lo ejecute más adelante, genera código de máquina.
GCJ está disponible en casi cualquier sistema Linux a través de su respectivo administrador de paquetes (si está disponible). Después de la instalación, se debe agregar el compilador GCJ a la ruta para que pueda invocarse a través de la terminal. Si está utilizando Windows, puede descargar e instalar GCJ a través de Cygwin o MinGW.
Sin embargo, le recomiendo encarecidamente que reescriba su código fuente para otro lenguaje que deba compilarse, como C++. Java está destinado a ser un lenguaje interpretado y portátil. Compilarlo en código de máquina va completamente en contra de para qué se desarrolló el lenguaje.
yo uso launch4j
Comando ANT:
<target name="jar" depends="compile, buildDLLs, copy">
<jar basedir="${java.bin.dir}" destfile="${build.dir}/Project.jar" manifest="META-INF/MANIFEST.MF" />
</target>
<target name="exe" depends="jar">
<exec executable="cmd" dir="${launch4j.home}">
<arg line="/c launch4jc.exe ${basedir}/${launch4j.dir}/L4J_ProjectConfig.xml" />
</exec>
</target>