pirateo simple para applets: escriba un código C con main y una llamada a la función "system" como system ("appletviewer java_src_file");
Madhusoodan P
1
¿El .exe funciona en el sistema de Windows sin JRE?
Arpit Agarwal
Solo para completar (no lo probé yo mismo porque necesitábamos un contenedor exe, no un instalador): los paquetes de instalador también se pueden crear usando javapackager (consulte docs.oracle.com/javase/8/docs/technotes/guides/deploy/… ) . Para crear el instalador EXE o MSI, adicionalmente se debe descargar e instalar Inno Setup o WiX.
La herramienta Java Packager compila, empaqueta y prepara las aplicaciones Java y JavaFX para su distribución. El comando javapackager es la versión de línea de comandos.
- Documentación de Oracle
La javapackagerutilidad se envía con el JDK. Puede generar archivos .exe con la -native exebandera, entre muchas otras cosas.
Empaqueta su JAR, activos y una JVM para su distribución en Windows, Linux y Mac OS X, agregando un archivo ejecutable nativo para que parezca una aplicación nativa. Packr es el más adecuado para aplicaciones GUI.
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 sencilla y fácil de usar, ya que puede encontrar cualquier Java VM instalada por sí misma.
- Sitio web de JSmooth
JSmooth es de código abierto y tiene características, pero es muy antiguo. El último lanzamiento fue en 2007.
JexePack es una herramienta de línea de comandos (ideal para secuencias de comandos automatizadas) que le permite empaquetar su aplicación Java (archivos de clase), opcionalmente junto con sus recursos (como GIF / JPG / TXT / etc), en un único EXE de Windows comprimido de 32 bits , que se ejecuta con Java Runtime Environment de Sun. Tanto la consola como las aplicaciones en ventana son compatibles.
- Sitio web de JexePack
JexePack es un software de prueba. El pago se requiere para el uso de producción, y los archivos exe creados con esta herramienta mostrarán "recordatorios" sin pago. Además, el último lanzamiento fue en 2013.
InstallAnywhere facilita a los desarrolladores la creación de software de instalación profesional para cualquier plataforma. Con InstallAnywhere, se adaptará rápidamente a los cambios de la industria, llegará al mercado más rápido y ofrecerá una experiencia de cliente atractiva. Y conozca la vulnerabilidad de los componentes OSS de su proyecto antes de enviar.
- Sitio web de InstallAnywhere
InstallAnywhere es un paquete comercial / empresarial que genera instaladores para programas basados en Java. Probablemente sea capaz de crear archivos .exe.
Launch4j es una herramienta multiplataforma para envolver aplicaciones Java distribuidas como frascos en ejecutables nativos ligeros de Windows. El ejecutable se puede configurar para buscar una determinada versión de JRE o usar una incluida, y es posible establecer opciones de tiempo de ejecución, como el tamaño de almacenamiento dinámico inicial / máximo. El contenedor también proporciona una mejor experiencia de usuario a través de un icono de aplicación, una pantalla de presentación nativa anterior a JRE, un nombre de proceso personalizado y una página de descarga de Java en caso de que no se encuentre el JRE apropiado.
ACTUALIZACIÓN: GCJ está muerto. Se eliminó oficialmente del proyecto GCC en 2016. Incluso antes de eso, estuvo prácticamente abandonado durante siete años y, en cualquier caso, nunca fue lo suficientemente completo como para servir como una implementación alternativa de Java viable.
Ve a buscar otro compilador Java AOT.
GCJ: El compilador GNU para Java puede compilar el código fuente de Java en código máquina nativo, incluidos los ejecutables de Windows.
Una desventaja de usar GCJ para crear un ejecutable independiente es que el tamaño del EXE resultante puede ser bastante grande. Una vez compilé una aplicación de consola trivial en GCJ y el resultado fue un ejecutable de aproximadamente 1 MB. (Puede haber formas de evitar esto que no conozco. Otra opción serían los programas de compresión ejecutables).
En términos de instaladores de código abierto, Nullsoft Scriptable Install System es un instalador programable. Si tiene curiosidad, hay ejemplos aportados por los usuarios sobre cómo detectar la presencia de un JRE e instalarlo automáticamente si el JRE requerido no está instalado. (Solo para hacerle saber, no he usado NSIS antes).
Un buen contenedor trae un JRE o lo instala si es necesario y maneja situaciones de error.
Thorbjørn Ravn Andersen
16
Estamos utilizando Install4J para construir instaladores para entornos Windows o Unix.
Es fácilmente personalizable hasta el punto en que desea escribir scripts para acciones especiales que no se pueden hacer con diálogos estándar. Pero a pesar de que estamos configurando servicios de Windows con él, solo estamos usando componentes estándar.
instalador + lanzador
windows o unix
programable en Java
tarea de hormigas
muchos paneles y acciones estándar personalizables
opcionalmente incluye o descarga un JRE
También puede iniciar servicios de Windows
múltiples idiomas
Creo que Launch4J es de la misma compañía (solo el lanzador, sin instalador).
PD: lamentablemente no me pagan por este respaldo. Simplemente me gusta esa herramienta.
El último Java Web Start se ha mejorado para permitir un buen funcionamiento sin conexión, así como para permitir la "instalación local". Vale la pena investigarlo.
EDITAR 2018: Java Web Start ya no se incluye con los JDK más nuevos. Oracle está empujando hacia un modelo de "despliegue su aplicación localmente con un JRE incluido".
Aparentemente, a JWS se le ha reforzado tanto la seguridad que requiere mucho más esfuerzo que antes para funcionar. Sin embargo, aún podría ser útil para los instaladores.
Thorbjørn Ravn Andersen
9
Si necesita convertir toda su aplicación a código nativo, es decir, un EXE más DLL, existe ExcelsiorJET . Descubrí que funciona bien y proporcioné una alternativa para agrupar un JRE.
Yo diría que launch4j es la mejor herramienta para convertir un código fuente de Java (.java) a un archivo .exe. Incluso puede agrupar un jre para su distribución e incluso el exe puede ser iconificado. Aunque el tamaño de la aplicación aumenta, se asegura de que la aplicación funcione perfectamente incluso si el usuario no tiene un jre instalado. También se asegura de que pueda proporcionar el jre específico requerido para su aplicación sin que el usuario tenga que instalarla por separado. Pero desafortunadamente, Java pierde su importancia. Su soporte multiplataforma se ignora por completo y la aplicación final solo es compatible con Windows. Pero eso no es gran cosa, si solo atiende a usuarios de Windows.
Alternativamente, puede usar un traductor de Java a C (por ejemplo, JCGO ) y compilar los archivos C generados en un archivo binario nativo (.exe) para la plataforma de destino.
Soy muy incrédulo de la efectividad de este método. Tendría que verlo para creerlo (piense en el hecho de que la mayoría del código Java son llamadas API al JRE, y todo eso no está presente en C, no importa las diferencias en cómo funciona el lenguaje).
Camilo Martin
3
Se me puede perdonar por estar en contra de convertir un programa de Java a una aplicación .exe y tengo mis razones. La principal es que un programa Java puede compilarse en un archivo jar de muchos IDE. Cuando el programa está en formato .jar, puede ejecutarse en múltiples plataformas en lugar de .exe, que se ejecutará solo en un entorno muy limitado. Estoy a favor de la idea de que los programas Java no deberían convertirse a Exe a menos que sea muy necesario. Siempre se pueden escribir archivos .bat que ejecutan el programa Java mientras es un archivo jar.
si es realmente necesario convertirlo a exe, el convertidor Jar2Exe lo hace silenciosamente y también se pueden adjuntar bibliotecas compiladas junto con la aplicación principal.
La cuestión es que el poder de Java es la portabilidad, pero mucha gente solo necesita un exe básico de Windows. Personalmente, me encanta el concepto de Java ... pero me gustaría distribuir algo que mis usuarios puedan ejecutar, sin tener que descargar un JRE.
Balmipour
2
Puede convertir jar a exe usando jar2exe . Sin embargo, debe comprar el software. Si necesita un software de código abierto, sugeriría JSmooth .
Respuestas:
javapackager
La
javapackager
utilidad se envía con el JDK. Puede generar archivos .exe con la-native exe
bandera, entre muchas otras cosas.WinRun4J
WinRun4J es una utilidad de código abierto. Tiene muchas caracteristicas.
empacador
Packr es otra herramienta de código abierto.
JSmooth
JSmooth es de código abierto y tiene características, pero es muy antiguo. El último lanzamiento fue en 2007.
JexePack
JexePack es un software de prueba. El pago se requiere para el uso de producción, y los archivos exe creados con esta herramienta mostrarán "recordatorios" sin pago. Además, el último lanzamiento fue en 2013.
InstallAnywhere
InstallAnywhere es un paquete comercial / empresarial que genera instaladores para programas basados en Java. Probablemente sea capaz de crear archivos .exe.
Archivos JAR ejecutables
Como alternativa a los archivos .exe, puede crear un archivo JAR que se ejecute automáticamente al hacer doble clic, agregando un punto de entrada al manifiesto JAR .
Para más información
Una excelente fuente de información sobre este tema es el artículo de Excelsior " Convertir Java a EXE: por qué, cuándo, cuándo no y cómo ".
Consulte también el artículo complementario "Las mejores herramientas de conversión de JAR a EXE, gratuitas y comerciales ".
fuente
Launch4j
fuente
GCJ: El compilador GNU para Java puede compilar el código fuente de Java en código máquina nativo, incluidos los ejecutables de Windows.
Aunque no todo en Java es compatible con GCJ, especialmente los componentes de la GUI (consulte ¿Qué API de Java son compatibles? ¿Qué tan completa es la pregunta de soporte? De las preguntas frecuentes ). No he usado mucho GCJ, pero por las pruebas limitadas que he hecho con aplicaciones de consola, parece estar bien.
Una desventaja de usar GCJ para crear un ejecutable independiente es que el tamaño del EXE resultante puede ser bastante grande. Una vez compilé una aplicación de consola trivial en GCJ y el resultado fue un ejecutable de aproximadamente 1 MB. (Puede haber formas de evitar esto que no conozco. Otra opción serían los programas de compresión ejecutables).
En términos de instaladores de código abierto, Nullsoft Scriptable Install System es un instalador programable. Si tiene curiosidad, hay ejemplos aportados por los usuarios sobre cómo detectar la presencia de un JRE e instalarlo automáticamente si el JRE requerido no está instalado. (Solo para hacerle saber, no he usado NSIS antes).
Para obtener más información sobre el uso de NSIS para instalar aplicaciones Java, consulte mi respuesta a la pregunta " ¿Cuál es la mejor manera de distribuir aplicaciones Java? "
fuente
Puede hacer un archivo por lotes con el siguiente código:
y convierta el .bat a un .exe usando cualquier convertidor de .bat a .exe.
fuente
Estamos utilizando Install4J para construir instaladores para entornos Windows o Unix.
Es fácilmente personalizable hasta el punto en que desea escribir scripts para acciones especiales que no se pueden hacer con diálogos estándar. Pero a pesar de que estamos configurando servicios de Windows con él, solo estamos usando componentes estándar.
Creo que Launch4J es de la misma compañía (solo el lanzador, sin instalador).
PD: lamentablemente no me pagan por este respaldo. Simplemente me gusta esa herramienta.
fuente
El último Java Web Start se ha mejorado para permitir un buen funcionamiento sin conexión, así como para permitir la "instalación local". Vale la pena investigarlo.
EDITAR 2018: Java Web Start ya no se incluye con los JDK más nuevos. Oracle está empujando hacia un modelo de "despliegue su aplicación localmente con un JRE incluido".
fuente
Si necesita convertir toda su aplicación a código nativo, es decir, un EXE más DLL, existe ExcelsiorJET . Descubrí que funciona bien y proporcioné una alternativa para agrupar un JRE.
fuente
En mi humilde opinión, JSmooth parece hacer un muy buen trabajo.
fuente
Yo diría que launch4j es la mejor herramienta para convertir un código fuente de Java (.java) a un archivo .exe. Incluso puede agrupar un jre para su distribución e incluso el exe puede ser iconificado. Aunque el tamaño de la aplicación aumenta, se asegura de que la aplicación funcione perfectamente incluso si el usuario no tiene un jre instalado. También se asegura de que pueda proporcionar el jre específico requerido para su aplicación sin que el usuario tenga que instalarla por separado. Pero desafortunadamente, Java pierde su importancia. Su soporte multiplataforma se ignora por completo y la aplicación final solo es compatible con Windows. Pero eso no es gran cosa, si solo atiende a usuarios de Windows.
fuente
Puedes usar Janel . Este último funciona como un iniciador de aplicaciones o un iniciador de servicios (disponible desde 4.x).
fuente
Alternativamente, puede usar un traductor de Java a C (por ejemplo, JCGO ) y compilar los archivos C generados en un archivo binario nativo (.exe) para la plataforma de destino.
fuente
Se me puede perdonar por estar en contra de convertir un programa de Java a una aplicación .exe y tengo mis razones. La principal es que un programa Java puede compilarse en un archivo jar de muchos IDE. Cuando el programa está en formato .jar, puede ejecutarse en múltiples plataformas en lugar de .exe, que se ejecutará solo en un entorno muy limitado. Estoy a favor de la idea de que los programas Java no deberían convertirse a Exe a menos que sea muy necesario. Siempre se pueden escribir archivos .bat que ejecutan el programa Java mientras es un archivo jar.
si es realmente necesario convertirlo a exe, el convertidor Jar2Exe lo hace silenciosamente y también se pueden adjuntar bibliotecas compiladas junto con la aplicación principal.
fuente
Puede convertir jar a exe usando jar2exe . Sin embargo, debe comprar el software. Si necesita un software de código abierto, sugeriría JSmooth .
fuente