Está usted en Indice > Construcción > Lenguajes > Java > Lecciones y Paso a Paso > Generar un archivo ejecutable con Java
Construcción
Maletín
Utilidades
Cursos
Promoción
Rentabilidad
Zona Novatos
Foros
Acceso a tu cuenta

Generar un archivo ejecutable con Java

En Java, en principio, no se pueden crear autoejecutables ya que este es un lenguaje multiplataforma y los archivos autoejecutables son dependientes de la plataforma. Esto provoca que tengamos que usar la consola para ejecutar nuestros programas; lo que supone un gran inconveniente para usuarios sobre todo acostumbrados a los entornos gráficos.

Existen varias soluciones para este asunto. Aquí se explican tres de ellas. La primera es la de crear ejecutables dependientes de la plataforma ; la segunda permite hacer más fácil la ejecución en cada plataforma sin impedir su ejecución en otra plataforma; la tercera es válida para cualquier plataforma y aporta otras muchas posibilidades.

Podemos crear un ejecutable de la plataforma de varias maneras:

Podemos usar traducir el código java a código C con Toba o J2C. De esta forma sólo nos queda compilar el código C para crear el ejecutable. Toba es un proyecto libre cuyo desarrollo ha quedado estancado cuando Java iba por la versión 1.1, pero podemos descargarlo todavía desde su página web. J2C lo puedes encontrar aquí (creo; cuando veas la página sabrás el porqué de mis dudas),

Existe un compilador que además de permitirnos, como cualquier otro compilador, crear bytecodes a partir de ficheros .java, nos da la posibilidad de compilar el fuente (archivos .java) para obtener un ejecutable de la plataforma y también permite crear un ejecutable de la plataforma a partir del bytecode. De esta forma el código obtenido es mucho más rápido. El programa se llama GJC y forma parte la familia de compiladores GCC del proyecto GNU que se desarrolla bajo la GPL (General Public License).

Si lo que queremos es crear un archivo ejecutable .exe (para plataforma Windows) y prescindir de la cualidad de multiplataforma de este lenguaje, lo que hay que hacer es conseguir un programa que realice esta tarea. Esto lo hacen algunas IDE's y el programa JtoExe . Al crear un .exe lo que hacemos es sustituir los archivos de clase de Java, al contrario que la siguiente opción que complementa y no sustituye. En particular el programa JtoExe necesita de la máquina virtual de Java para poder ejecutar el programa de modo seguiremos necesitando instalar la JVM al contrario que las dos opciones anteriores.

Crear scripts

Otra posibilidad, que nos permite mantener la multiplataforma es crear un script para cada plataforma . Esto lo que nos permite es facilitar la ejecución dentro de cada plataforma sin evitar que podamos ejecutar el programa en otra para la que no hayamos creado un script. Bueno para el que no haya entendido nada hasta aquí o no sepa lo que es un script lo voy a explicar más claramente. Un script no es más que un archivo en el que se guardan los comandos que se teclearían en la consola (es decir, lo que teclearías en una ventana MS-DOS en caso de usar este Sistema Operativo o en una shell para los que usen Unix) para que fuera interpretados por el intérprete de comandos.

Archivos .bat

Los script de Windows/MS-DOS se llaman archivos por lotes de MS-DOS , y su extensión es .bat. De este modo solamente tenemos que crear un archivo de este tipo cuya única línea sea la siguiente:

javaw ClasePrincipal

Ya sólo nos queda ejecutarlo con un doble click en el navegador de archivos y se lanzará la aplicación por medio del programa javaw del JDK (deberá estar indicada la ruta de este programa en la variable de entorno PATH). También podríamos haber usado el programa java.exe. Esta solución tiene un inconveniente: se abre una ventana de MS-DOS muy incómoda. Si usamos el programa javaw.exe esta ventana podrá cerrarse nada más ser lanzada la aplicación y si usamos el programa java.exe sólo podrá cerrarse una vez finalizada la aplicación.



Usuarios que han visto este tema también han visto...

- Sockets en Java
- La clase Math.
- Crear tu Primer Applet
- Cómo crear una clase en Java que lea desde el teclado.
- Java web frameworks - Cuál elegir?


Versión imprimible - Versión imprimible de este documento
Enviar e-mail - Enviar por e-mail este documento
Publicidad






Publicidad








Información legal | Política de Privacidad | Contacte con nosotros

Otro proyecto de Factoría de Internet. Copyright© 2003-2011 Factoría de Internet S.L.. Todos los derechos reservados.


Página generada el 21-02-2017 a las 23:36:32