Pgina 1 de 4
Ficheros JAR
1 Qu son los ficheros JAR? 2 Creacin en un terminal de texto 3 Applets 4 Creando ficheros .jar desde JCreator
http://gpd.sip.ucm.es/rafa/docencia/programacion/tema1/jar.html
10/05/2013
Archivos JAR
Pgina 2 de 4
de -jar y del nombre del fichero .jar correspondiente. Sin embargo hay algo en todo esto que no "encaja": Si el fichero .jar contiene muchos ficheros .class, cul de todos se ejecuta? Sabemos que debe ejecutarse el que contiene el mtodo main pero, cmo sabe el intrprete de Java que clase de todas las del fichero contiene este mtodo? La respuesta es que lo sabe porque se lo tenemos que decir durante la creacin del fichero jar. Y la forma de hacerlo es un poco liosa. Vamos a verlo paso a paso. Para simplificar suponemos que estamos en un terminal de texto (consola Linux o smbolo del sistema en Windows), que el comando jar es accesible (es decir, la carpeta que contiene jar.exe est en el Path) y que nos encontramos en el directorio donde se encuentran los ficheros .class que deseamos "empaquetar". Crear un directorio META-INF (las maysculas son importantes!) y dentro un fichero MANIFEST.MF. Este fichero indica, entre otras cosas, cual ser la clase principal. A menudo el fichero MANIFEST.MF contiene una nica lnea:
Main-Class: Principal
indicando que Principal.class es la clase que contiene el mtodo main. Observacin : El fichero MANIFEST.MF se puede crear con cualquier editor de texto. Hay que introducir un fin de lnea (enter) tras la ltima linea con texto.
El nombre fich.jar es el que nosotros queramos y corresponde al fichero .jar que se crear conteniendo todos los ficheros indicados (en este caso todos los ficheros .class). Se puede comprobar que el contenido del fichero es el el adecuado escribiendo:
jar tf fich.jar
que mostrar la lista de clases contenidas en el fichero. Este comando tambin puede ser til para examinar el contenido de las libreras del sistema. Para lanzar el archivo basta con teclear ahora:
http://gpd.sip.ucm.es/rafa/docencia/programacion/tema1/jar.html
10/05/2013
Archivos JAR
Pgina 3 de 4
Si alguna vez se quiere "desempaquetar" el contenido de un archivo jar se pueden usar las opciones "xf":
jar fich.jar
Esto puede resultar particularmente til si queremos echar un vistazo a algunos paquetes del sistema que vienen de esta forma.
3 Applets
Aunque an no sepamos demasiadas cosas sobre applets este es un buen punto para indicar como se debe usar la herramienta jar en relacin a los applets. Vamos a verlo con un ejemplo: supongamos que tenemos un applet de nombre TicTacToe.java. Suponemos que ya est compilado, es decir que ya existe el fichero TicTacToe.class. Adems suponemos que este applet utiliza imgenes, que se encuentran en una carpeta images y sonidos que se encuentran en una carpeta sounds. Es decir, tenemos (resultado de hacer "dir" en un smbolo del sistema): Queremos crear un fichero .jar para guardar toda esta informacin en un nico fichero, que ser el que "viaje" por internet. Para ello se hace:
jar -cf titac.jar TicTacToe.class audio images
Como se puede ver no se ha incluido el fichero TicTacToe.java (porque no es necesario para la ejecucin del programa, aunque se podra haber incluido si se hubiera querido). Ya tenemos el fichero tictac.jar creado. Para cargar el applet desde una pgina html slo debemos copiar este fichero a la misma carpeta donde este la pgina. La pgina por su parte debe incluir un cdigo similar al siguiente cdigo para "incrustar" el programa Java:
<applet code="TicTacToe.class" archive="tic.jar" width="120" height="120"> </applet>
http://gpd.sip.ucm.es/rafa/docencia/programacion/tema1/jar.html
10/05/2013
Archivos JAR
Pgina 4 de 4
tools
(salvo porque la parte derecha no estar vaca si ya hemos introducido otras herramientas como los accesos a javadoc). Pulsar el botn New y del men desplegable que aparece elegir la opcin: Create Jar File . Pulsamos "OK" y ya tenemos JCreator para crear ficheros .jar con el contenido del proyecto que tengamos Java, sin ms que pulsar el botn de herramientas que hayamos configurado (la llave inglesa con el nmero correspondiente, por ejemplo 1 si es la primera herramienta que configuramos). De todas formas hay que hacer algunas observaciones: Un fallo (gordo) de esta herramienta es que no crea un fichero MANIFEST adecuado. Esto hace que el "empaquetamiento" sea til para applets (donde el fichero MANIFEST no importa), pero no para aplicaciones con main. El fichero generado lleva el nombre del proyecto (y extensin .jar, obviamente). Queda almacenado en el directorio del proyecto de JCreator. A menudo pare encontrarlo lo ms fcil es usar el buscador de Windows. Observacin: Por supuesto los pasos anteriores slo hay que hacerlos una vez; la prxima vez que entremos en JCreator se podrn usar las herramientas directamente.
http://gpd.sip.ucm.es/rafa/docencia/programacion/tema1/jar.html
10/05/2013