Empaquetar un archivo jar ejecutable
Está claro que las modernas interfaces de programación nos convierten en profesionales más vagos. No es nada nuevo, de hecho, es signo de buen programador ser vago; preferimos trabajar un poco más una sola vez y solamente pulsar un botón las próximas n veces que tengamos que hacer la misma tarea.
El otro día, sin embargo, me vi en la situación de tener que empaquetar un par de clases Java ya compiladas en un paquete jar ejecutable. El problema era que no tenía a mano mi querido Eclipse y tuve que hacerlo «old school» («a maneta», en inglés), por lo que acudí a mi fiel carpeta de documentación para encontrar un par de ejemplos.
Describo a continuación el proceso para cuando me vuelva a hacer falta, aunque para más información podéis acudir a los siempre útiles Tutoriales de Java.
Primero: tener claro qué archivos hay que empaquetar. En este pequeño ejemplo será una sola clase que llamaremos «MiClase.class». Este archivo es el resultado de compilar «MiClase.java», pero ese procedimiento está fuera del ámbito de este artículo.
Segundo: crear el archivo de manifiesto. Este archivo le indicará al programa «jar» cuál es la clase principal que debe ejecutar. También se pueden indicar más cosas, como el «classpath», etc. En nuestro caso el contenido del archivo, que llamaré «MiClase.mf» es el siguiente:
Manifest-Version: 1.0 Main-Class: MiClase
Tercero: ejecutar el comando jar con la siguiente sintaxis: jar cmf archivo_manifest archivo.jar contenido_1 contenido_2 contenido_3 contenido_n
Lo que en este ejemplo se traduce en:
jar cmf MiClase.mf MiClase.jar MiClase.class
Esto creará el archivo MiClase.jar, que podremos ejecutar con el comando:
java -jar MiClase.jar
O simplemente haciendo doble clic sobré él.
