programa - new icon java
Compilando un programa Java en un ejecutable (7)
Posible duplicado:
¿Cómo creo un .exe para un programa Java?
Acabo de hacer un programa simple con eclipse y quiero compilarlo en un ejecutable, pero simplemente no puedo encontrar cómo hacerlo. Por favor ayuda.
Hay un puñado de programas que hacen eso ... TowerJ es uno que viene a la mente (te dejaré buscarlo por Google) pero cuesta mucho dinero.
La referencia más útil para este tema que encontré está en: http://mindprod.com/jgloss/nativecompiler.html
menciona algunos otros productos y alternativas para lograr el mismo propósito.
Hemos encontrado que Jsmooth funciona bien y es fácil de escribir con hormiga en Linux. Es posible que desee utilizar one-jar (también fácilmente programable con ant en Linux) para recopilar primero una aplicación de múltiples archivos en un único contenedor.
Principalmente necesitábamos la fácil implementación del EXE combinado con las instalaciones "hey, necesitas Java versión X, ve aquí para descargar".
(pero lo que probablemente necesite es el recurso "Jar ejecutable" / "Jarrón ejecutable" en Java estándar).
Lo que puedes hacer es crear un .bat que ejecute el archivo .jar creado, verificando si hay un JRE presente.
Desde el enlace útil de Mitch ( source )
java -classpath myprogram.jar de.vogella.eclipse.ide.first.MyFirstClass
Esto se puede usar en tu lote ...
Puede convertir el archivo .jar a .exe de estas maneras:
1- JSmooth .exe envoltorio:
JSmooth es un Contenedor ejecutable de Java. Crea lanzadores nativos de Windows (.exe estándar) para sus aplicaciones Java. Hace que el despliegue de Java sea mucho más sencillo y fácil de usar, ya que es capaz de encontrar cualquier VM Java instalada por sí mismo. Cuando no hay ninguna VM disponible, la envoltura 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 envoltorios para su aplicación Java, cada uno de ellos tiene su propio comportamiento: ¡elija su sabor!
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 ejecutables generados pueden agregar iconos de programa e información de versión.
- Los archivos ejecutables generados pueden encriptar y proteger programas Java, no se generarán archivos temporales cuando se ejecute el programa.
- Los archivos exe generados proporcionan compatibilidad con el icono de la bandeja del sistema.
- Los archivos ejecutables generados proporcionan compatibilidad con el registro de eventos del sistema de registro.
- Los archivos exe del servicio de Windows generado pueden instalarse / desinstalarse y admitir la pausa / continuar del servicio.
- Nueva versión de la versión x64, puede crear ejecutivos de 64 bits. (18 de mayo de 2008)
- Tanto el modo de asistente como el modo de línea de comando son compatibles. (18 de mayo de 2008)
Descargar: http://www.brothersoft.com/jartoexe-75019.html
3- Ejecutor
Empaque 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 invocará el Java Runtime Environment y ejecutará su aplicación.
Descargar: http://mpowers.net/executor/
EDITAR: El enlace de arriba está roto, pero aquí está la página (con descarga de trabajo) del Archivo de Internet. http://web.archive.org/web/20090316092154/http://mpowers.net/executor/
4- Instalador avanzado
Advanced Installer le permite crear instalaciones MSI de Windows en minutos. Esto también tiene soporte para Windows Vista y también ayuda a crear paquetes MSI en otros idiomas.
Descargar: http://www.advancedinstaller.com/ Déjame saber otras herramientas que has usado para convertir JAR a EXE.
Usaría GCJ (compilador de GNU para Java) en su situación. Es un compilador AOT (anticipado) para Java, al igual que GCC es para C. En lugar de interpretar código, o generar código java intermedio para ser ejecutado posteriormente por Java VM, genera código 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, el compilador GCJ debe agregarse a la ruta para que pueda invocarse a través del terminal. Si está usando Windows, puede descargar e instalar GCJ a través de Cygwin o MinGW.
Recomiendo encarecidamente, sin embargo, que reescriba su fuente para otro idioma que debe compilarse, como C ++. Java pretende ser un lenguaje portátil e interpretado. Compilarlo con código de máquina es completamente contra lo que se desarrolló el lenguaje.
Usualmente uso un script bat para eso. Esto es lo que uso habitualmente:
@echo off
set d=%~dp0
java -Xmx400m -cp "%d%myapp.jar;%d%libs/mylib.jar" my.main.Class %*
El% ~ dp0 extrae el directorio donde se encuentra .bat. Esto permite que el murciélago encuentre las ubicaciones de los frascos sin requerir ninguna variable de entorno especial ni la configuración de la variable PATH.
EDITAR: Agrega comillas al classpath. De lo contrario, como dijo Joey, "las cosas divertidas pueden suceder con espacios"
Yo uso launch4j.sourceforge.net
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>