Google

domingo, 2 de septiembre de 2007

Una forma de generar archivo ejecutable

En principio no es posible crear un .exe para tu aplicacion en java. Si bien existen programas que permiten generar ejecutables a partir del bytecode, no es aconsejable hacerlo. Uno de los puntos mas fuertes de Java es su caracteristica multiplataforma; esta se pierde al momento de generar .exe.
Una de las alternativas es crear un archivo batch o archivo por lotes (.bat), de esta manera es posible ejecutar la aplicacion java. Es recomendable generar un archivo jar y ejecutar la aplicacion desde este.
Para crear un bat solo hace falta el bloc de notas
Un ejemplo sencillo:

nombre del jar: miEjemplo.jar

En el bloc de notas escribir la siguiente linea:


javaw -jar miEjemplo.jar -----> en caso de que se definio la clase principal en el MANIFEST (Main-Class: ClasePrincipal)

javaw -cp ./ejemplo.jar ClasePrincipal -----> en este caso se especifica el CLASSPATH

Luego se debe guardar el archivo especificando la extension .bat
Ejemplo: miAplicacion.bat
Ahora solo queda ejecutar el archivo para ver si no se producen errores.
En caso de que no se ejecute la aplicacion, se pueden ver los errores que surgieron agregando al archivo bat la siguiente linea:

pause

quedando el archivo de esta manera:

javaw -jar miEjemplo.jar

pause


Observación: Un posible error que puede surgir es que no se encuentre el archivo java o javaw dependiendo de cual se utilice. En este caso puede suceder que no este definida la variable de entorno CLASSPATH.

Referencia a archivos dentro de un jar

Cuando se crean archivos jar en muchos casos en su interior se guardan archivos que necesita nuestra aplicacion. Para que esta reconozca los archivos se deben hacer referencia a los mismos mediante las siguientes lineas:
EJEMPLO:
ClassLoader classLoader = NombreClase.class.getClassLoader();
URL url= classLoader.getResource ("image/image.gif");
ImageIcon imagen = new ImageIcon (url);