Labels

6 abr 2010

Crear un .Jar

Quizás ya haya sido mucho de java para este día, pero, qué diablos, es genial y me encanta postear cosas que parecen bien perras pero no lo son, y este es el caso de la creación y correcto funcionamiento de un archivo .jar.
Un archivo .jar es una compilación de clases de java dispuestas a ejecutarse como apliación en cualquier sistema operativo, digamos, los exes de java.
Para crearlos existen varios mitos através de la red, pero ahora, les presento el más efectivo, o al menos el que me funcionó a mí:

Necesitarás un archivo de manifiesto y correr este comando en la carpeta donde tengas todos los .class del proyecto ya sea navegando desde el cmd con "cd ruta_del_proyecto" o creando un .cmd con el comando y ejecutándolo en la carpeta del proyecto.

El manifiesto es un txt que solo tiene: "Main-Class: Login" y necesitará estar local a los .class, en este caso usé "Login" como clase principal (la que tiene el main)

El comando para crearlo es: $ jar cmf manifest.txt iClock.jar *.class

Lo cual equivale a "jar cmd archivodemanifesto.txt nombredeljar.jar clasesDelProyecto.class"

Si usas paquetes, necesitarás especificar en "clasesDelProyecto":

nombredelpaquete.nombredelaclase.class

Además necesitarás tener los archivos locales a los .class:

jar.exe y jli.dll

Estos vienen en la instalación del JDK.

Cuando se haya creado el archivo .jar después de haber ejecutado el comando en la carpeta con los .class y el manifest.txt, ábrelo con winRar y busca el archivo MANIFEST.MF
en la carpeta META-INF, lo abres y le añades la línea:

Main-Class: Login

Que es lo mismo que tenias en el manifest.txt, dejas un renglón vacío abajo de esta línea y guardas el archivo y listo.

Podrás dar doble click para abrir tu aplicación si se trata de una aplicación gráfica, pero si es en línea de comandos, necesitarás ejecutarla en el cmd.

Edito: Ejemplo -->

  1. Supongamos, tenemos un programita que jala con 5 clases. Compilamos dichas clases generando los archivos .class.
  2. Copiamos y pegamos estos archivos a una carpeta llamada proyecto.
  3. Buscamos los archivos jar.exe y jli.dll en nuestra máquina para copiar y pegar dichos archivos en la carpeta proyecto.
  4. Creamos un .txt que se llame manifest.txt y lo guardamos en la carpeta proyecto, en él sólo escribimos: Main-Class: Login pues en la clase Login es donde tengo el método main que hace correr todo el programa.
  5. Creamos un .cmd que se llame creaJar.cmd y lo guardamos en la carpeta proyecto, en él escribimos: jar cmf manifest.txt iClock.jar *.class donde iClock.jar será el nombre de nuestro jar
  6. Ya con todos estos archivos en la carpeta proyecto, ejecutamos el creaJar.cmd
  7. Si hicieron todo bien hasta aquí, se creará un archivo llamado iClock.jar en la misma carpeta proyeto.
  8. Abran este archivo con winRar y en él vendrán los archivos .class y una carpeta llamada META-INF en ella vendrá un archivo llamado MANIFEST.MF lo abren con block de notas y en él escriben lo que tenían en el manifest.txt: Main-Class: Login hasta abajo dejando un renglón en blanco por debajo de esta última línea.
  9. Guardan actualizando el MANIFEST.MF en el jar y listo.
  10. Como lo dije anteriormente, si es una aplicación gráfica, se desplegarán las ventanas, pero si es una aplicación en línea de comandos necesitarán correr esta aplicación desde el cmd.

Este tuto es para hacerse desde WinBugs, pero para linux es básicamente lo mismo, es decir, también necesitarán el comando Jar que viene con el JDK, salvo que el proceso se hace en la terminal.
Bueno dudas o comentarios, háganmelos saber por este medio, jeje, pues que la fuerza los acompañe y el resto... lo dejo a su criterio

4 comentarios:

  1. está algo confuso, no crees que seria mejor poner un ejemplo o algo asi:s. buen post ;) bueno los 2 de java.

    ResponderEliminar
  2. Disculpe, servida señorita...jeje

    ResponderEliminar

Los comentarios son gratis......deja uno