Creando ejecutable para Java
En esta entrada se tratará de crear un archivo .exe para nuestros proyectos de Java, pues como bien sabemos Java solo genera código intermedio (bytecode) , es decir archivos con la extensión .class y con el NetBeans solo podemos crear archivos .jar .
Pues bien existe una forma ( no es la única ) para poder generar archivos .exe y es mediante la herramienta libre JSmooth .
I.- CARACTERÍSTICAS DEL JSMOOTH |
- Es libre.
- Se puede generar un ejecutable que contenga a la aplicación o que utilice un jar separado.
- Se pueden añadir mensajes al usuario para que instale correctamente la aplicación.
- Es posible incorporar el JRE (para que la aplicación lo use en un directorio especifico) para que el usuario no tenga que instalarlo.
II.- REQUISITOS |
- Tener una aplicación a la cual se ha creado el .jar
- JSmooth , se puede descargar aquí ( la instalación es sencilla )
III.- CREACIÓN DEL .EXE |
-
Eligiendo el esqueleto del proyecto .- Pues bien esta primera parte depende mucho de la aplicación para la cual queremos crear el ejecutable. En nuestro caso usaremos una aplicación con ventanas así que elegiremos la opción Windowed Wrapper. JSmooth nos ofrece dos posibilidades : para aplicaciones de consola ( línea de comandos) y aplicaciones de ventanas :
Aquí hay que tener en cuenta algunas consideraciones :- Message : Es el mensaje que se le va a mostrar al usuario cuando la máquina virtual(JRE) no se encuentre .
- URL : Indica la URL desde donde el usuario puede bajar la JRE
- Launck java app in the exe process : Sirve para lanzar la aplicación Java en otro proceso distinto.
- Debug console : Si lo marcamos, se mostrará una línea de comandos de Windows con el detalle de todo lo que pasa por detrás. (Esto es útil para saber como funciona el JSmooth).
- Configurando el ejecutable .- Es aquí donde le diremos a JSmooth que nos cree un ejecutable , se indica el lugar en donde se creará el ejecutable y el icono del ejecutable (en Executable Binry tendremos que digitar la ruta en donde se creará el ejecutable)
-
Configurando la aplicación .- En esta parte primero elegimos el jar de la aplicación ; hecho esto vamos a Main class y buscamos la clase main del proyecto ( es importante seguir el orden para que les pueda aparecer la lista de clases de su proyecto en el Main class) ; en mi caso yo tengo solo una clase que será el JFrame llamado principal y dentro de el estará mi clase main , si se tiene el método main en una clase aparte pues se deberá elegir esa clase :
- Configurando la maquina virtual .- Aquí configuramos algunos datos de la máquina virtual , como son :
- Minimum JVM versión : Indica la versión mínima de la maquina virtual que tendrá que instalar el usuario si desea correr la aplicación , 1.5 es lo recomendable .
- Maximun JVM versión : Indica la versión máxima con la que se debe contar ; pero dejarlo en blanco es lo mejor.
- JVM Bundle : Esta parte es genial ya que nosotros podemos agregar al ejecutable la maquina virtual para que el usuario no tenga que estar instalándola ; solo debemos indicar el lugar en donde se encuentra el JRE en nuestra PC y JSmooth lo buscará y agregará a nuestro proyecto .
- JVM Search Sequence : Si no hemos activado el JVM Bundle esta opción nos permite indicar a JSmooth el orden de busqueda de la máquina virtual-
- Generando el ejecutable .- Primero guardamos el proyecto y luego iremos a Proyect → Compile para poder generar el ejecutable ; les debe salir algo como esto :
16 Comentarios:
Muchas gracias por el aporte me ayudo mucho.
gracias por el aporte... lo necesitaba mucho....
sigue adelante... salu2 y gracias
uhhh realmente me baje el programa e ise todo lo q dice en los pasos y nu me salio, bueno = me han servido mucho tus post anteriores!! Gracias!!
carlon111@hotmail.com
hola que tal pues soy nuevo en esto de los ejecutables.
Ya me avente tu tutorial y el de JSmooth pero sigo teniendo un problema.
Necesito hacer un ejecutable con las siguientes caracteristicas:
1.- Que contenga embebido el archivo.jar.
2.- Que contenga tambien embebebido al JRE debido a que las maquinas donde se ejecutara mi aplicación no tienen acceso a internet y no se les puede instalar software por custiones de politicas internas.
Dehecho el ejecutable ya esta, ya tiene el archivo.jar embebido, ya funciona muy bien, el problema esta enque no lo puedo hacer funcionar en maquinas que no tienen el JRE es decir no puedo embeber el JRE dentro del ejecutable y ya lo hi8ce como dice tu tutorial pero no me sale.
ojala puedas darme una luz y si tienes un ejemplito pues te lo agredere y yo y toda la comunidad que nos dedicamos a esto.
en cuanto tenga algo pues lo compartire.
Saludos
buenazo.. gracias, me has ayudado mucho
Buen dato, de mucha ayuda, gracias.
anfeles@misena.edu.co - hola, amigo necesito ayuda, el tuturial esta muy claro sobre crear un exe apartir de un jar pero mi pregunta es: como hago para crear el exe en el caso de una aplicacion que funciona con mysql, como sabes esto involucra al connector-j, entos como se añade o q hay q hacer?, Gracias
Hola!!
Cómo hago si no tengo un .jar sino un .class???
cesar_falen@hotmail.com - buenas muchas gracias por esta ayuda... mi pregunta es la siguiente, tengo un proyecto hecho en netbeans, lo cual cuando compilo me genera el proyecto.jar y una carpeta lib que contiene driver de mysql,librerias del jasper,etc.
¿como sería para crear el ejecutable? les agradezco de antemano
marcos_tam@hotmail.com - Mi estimado estuve viendo parte de tu pagina y tienes cosas muy interesantes. Te mando una felicitacion por tu contenido. En verdad un 10. Gracias por tu aportacion a la comunidad.
que fregon post te felicito sirve a la perfeccion posts como estos son los que valen la pena, sigue asi ahhh y sobre todo excelentemente explicado
como egregar la carpeta lib ,(en elmanifest.mf del .exe no es igual al manifest del .jar)
. quiero conectar con mysql, y otras librerias
uhmm como lo uso por que no puedo ejecutarlo para que me salgan esas imagenes?
Hola!!! sucede que mi programa usaba un .jar o libreria (jxl.jar) de la carpeta Lib que tiene mi proyecto.... es simplemente anexar en el Jsmooth en la opcion de APPLICATION y en el CLASSPATH las librerias y ya esta...ojala le sea de utilidad a alguien......
por cierto muy buena pagina me ha servido en varias ocasiones....Felicitaciones desde Colombia
Excelente post, Muchas Gracias!!!
si alguien me pudiera ayudar, use herroneamente Jsmooth con el .java de la clase principal, el problema es que no te dice nada y para mi mala suerte sobreescribio el archivo con otra cosa que no era codigo y pues perdi toda esa parte, quisiera saber si alguien sabe como revertir esto, la verdad he pasado mucho tiempo desarrollando la aplicacion como para que desaparezca asi nada mas, espero y alguoien pueda ayudarme
Publicar un comentario
Ingresa tu comentario .... con el siguiente formato EMAIL - COMENTARIO para poder responderte :