Sie sind auf Seite 1von 3

ROJANO GALLARDO JESUS EMANUEL

POO2 6CM4
TAREA 3
ARCHIVOS .JAR

Cuando hacemos un programa java, normalmente tenemos varios ficheros


java. Al compilarlos, obtenemos varios ficheros .class. Además, si metemos
nuestras clases en paquetes (con package), estos .class van distribuidos en
una estructura de directorios paralela a la de los paquetes. Por ejemplo, si
nuestra clase pertenece a un paquete chuidiang.prueba, entonces el .class
estará situado en un subdirectorio prueba que está situado a su vez en un
subdirectorio chuidiang.

Si queremos distribuir nuestro programa java, deberíamos distribuir todos


los .class, con su estructura de directorios completa. Esto está claro que es
un poco pesado.

Java, con su utilidad jar (en JAVA_HOME/bin), nos permite empaquetar


todas estas estructuras de directorios y ficheros .class en un único fichero
de extensión .jar. Un fichero .jar no es más que un fichero que contiene
dentro otros ficheros, similar a los .zip o .rar de winzip o winrar. De esta
forma, podemos distribuir nuestro programar en un solo fichero .jar
La forma de crear un fichero .jar desde una ventana de ms-dos o shell de
unix es esta

$ jar cf fichero.jar fichero1.class fichero2.class directorio1 directorio2

Esto meterá en fichero.jar todos los .class que le pasemos y los directorios,
con su contenido completo. Si la clase que contiene el main está en
chuidiang.prueba.ClasePrincipal, la forma de ejecutar este jar es así

$ java -cp fichero.jar chuidiang.prueba.ClasePrincipal

es decir, indicando en la opción -cp (classpath) el fichero .jar y luego el


nombre de la clase que tiene el main.

Si en nuestra aplicación necesitamos adicionalmente otros jar de otras


librerías que nos hayamos bajado, NO podemos meterlos dentro de nuestro
jar como un fichero más. Debemos distribuir todos los jar por separado (el
nuestro y el de las librerías) y a la hora de ejecutar hay que añadirlas al
CLASSPATH con la opción –cp
ROJANO GALLARDO JESUS EMANUEL
POO2 6CM4
TAREA 3

En linux:
$ java -cp fichero.jar:/path/otro.jar chuidiang.prueba.ClasePrincipal

En windows
C:\> java -classpath fichero.jar; C:\path\otro.jar
chuidiang.prueba.ClasePrincipal

Fijate que en linux el separador es : y en windows es ;

EL FICHERO DE MANIFIESTO

Para evitar tener que recordar el nombre de la clase con el main, se puede
poner en un fichero especial (llamado fichero de manifiesto) y meter este
fichero dentro del jar. Para ello, escribimos un fichero de texto con cualquier
nombre (por ejemplo, manifiesto.txt) con el siguiente contenido

Main-Class: chuidiang.prueba.ClasePrincipal

A la hora de hacer el jar, lo metemos también jar cmf manifiesto.txt


fichero.jar fichero1.class fichero2.class directorio1 directorio2

La opción m indica que el fichero que va detrás es el de manifiesto y el


comando jar lo tratará de forma especial. Si ponemos las opciones como en
el ejemplo, es decir, mf, primero se pone el fichero de manifiesto y luego el
nombre del fichero jar. Si las ponemos al revés, es decir fm, entonces se
pone primero el nombre del fichero jar y luego el de manifiesto. El resto se
supone que son ficheros o directorios que se van a meter en el jar.

Una vez hecho esto, se ejecuta así

java -jar fichero.jar

La opción -jar indica que se debe buscar dentro del fichero .jar el fichero de
manifiesto y ejecutar la clase que se indica allí.

EJECUTAR EL JAR DESDE WINDOWS

Podemos configurar windows para que abra los ficheros .jar con el comando
javaw. Si instalamos java 5 esto se hace automáticamente. Si no, dando a
"mi pc", "herramientas", "opciones de carpeta", "tipos de archivo", buscamos
o creamos JAR, "opciones avanzadas", "open", "modificar" y ponemos algo
como esto
ROJANO GALLARDO JESUS EMANUEL
POO2 6CM4
TAREA 3
"C:\Archivos de programa\Java\jre1.5.0_06\bin\javaw.exe" -jar "%1" %*

Con esto, dando doble click sobre un fichero jar que tenga fichero de
manifiesto, se ejecutará el programa java.

Formato de archivo usado para empaquetar todos los componentes


requeridos por un Java applet.Un archivo JAR (por sus siglas en inglés,
Java ARchive) es un tipo de archivo que permite ejecutar aplicaciones
escritas en lenguaje Java. Las siglas están deliberadamente escogidas para
que coincidan con la palabra inglesa "jar" (tarro).
Los archivos JAR simplifican la descarga de applets de Java ya que todos
los componentes (archivos, imágenes, sonidos, clases, etc.) son
empaquetados en un archivos simple. Además JAR soporta compresión de
datos.

Existen tres operaciones básicas con este tipo de archivos: ver contenido,
comprimir y descomprimir.

Instrucciones para GNU/Linux:


Ver contenido
$ jar -tvf archivo.jar
Comprimir
$ jar -cvf archivo.jar archivo_1 archivo_2 archivo_3 ... archivo_n
Descomprimir
$ jar -xvf archivos.jar
Un vínculo de descarga a .jar es .jad, y pesa muy poco.

Das könnte Ihnen auch gefallen