Ficheros JAR (Java ARchives)

El formato b�sico del comando para crear un fichero JAR es.

jar cf fichero-jar fichero(s)-de entrada

Echemos un vistazo a las opciones y argumentos utilizados en este comando.

  • La opci�n c indica que quieres crear un fichero JAR.
  • La opci�n f indica que quieres que la salida vaya a un fichero en vez de a stdout.
  • fichero-file es el nombre que quieres para el fichero JAR resultante. Puedes utilizar cualquier nombre de fichero. Por convenci�n, a los ficheros JAR se les da la extensi�n .jar, aunque no es obligatorio.
  • El argumento fichero(s)-de entrada es una lista delimitada por espacios de uno o m�s ficheros que deben ser situados dentro de tu fichero JAR. Este argumento puede tener simbolo del comod�n *. Si alguno de los fichero(s)-de entrada, es un directorio, el contenido de dicho directorio se a�adir� al fichero JAR recursivamente.

Las opciones c y f pueden aparecer en cualquier orden, pero no debe existir ning�n espacio entre ellas.

Este comando generar� un fichero JAR comprimido y lo situar� en el directorio actual. El comando tambi�n gener� un fichero de manifiesto, por defecto. META-INF/MANIFEST.MF, para el archivo JAR.

Podr�as a�adir cualquiera de estas opciones adicionales a las opciones cf del comando b�sico.

  • v - produce un salida verbosa en stderr (en versi�n 1.1) o stdout (en versi�n 1.2) mientras se construye el fichero. La salida verbosa te dice el nombre de cada fichero a�adido al fichero JAR.
  • 0 - indica que no quieres que el fichero JAR sea comprimido.
  • M - indica que no se deber�a producir el fichero de manifiesto por defecto.
  • m - utilizada para incluir informaci�n de manifiesto desde un fichero de manifiesto existente. El formato utilizado por esta opci�n es.
    jar cmf existing-manifest output-file input-file(s)
    

En la versi�n 1.1 el formato JAR s�lo soporta nombres de ficherso ASCII. La versi�n 1.2 a�ade soporte para nombres codificados en UTF8.

.�Un ejemplo

Veamos un ejemplo. El JDK incluye una demo del applet TicTacToe. Esta demo contiene ficheros de clases, ficheros de audio e im�genes, todos almacenados en un directorio llamado TicTacToe que tiene esta estructura.

                      TicTacToe
             _____________|______________ 
            |             |              |
      TicTacToe.class   audio         images
                          |              |

Los subdirectorios audio e images contienen ficheros GIF y de sonido utilizados por el applet.

Para empaquetar esta demo en un s�lo fichero JAR llamado TicTacToe.jar, deber�as ejecutar este comando desde el directorio TicTacToe.

jar cvf TicTacToe.jar TicTacToe.class audio images

Los argumentos audio e images representan directorios, por eso la herramienta JAR los situar� recursivamente a ellos y sus contenidos en el fichero JAR. El fichero JAR generado TicTacToe.jar estar� situado en el directorio TicTacToe. Como el comando utiliza la opci�n v para salida verbosa, podr�s ver esta salida.

adding: TicTacToe.class (in=3825) (out=2222) (deflated 41%)
adding: audio/ (in=0) (out=0) (stored 0%)
adding: audio/beep.au (in=4032) (out=3572) (deflated 11%)
adding: audio/ding.au (in=2566) (out=2055) (deflated 19%)
adding: audio/return.au (in=6558) (out=4401) (deflated 32%)
adding: audio/yahoo1.au (in=7834) (out=6985) (deflated 10%)
adding: audio/yahoo2.au (in=7463) (out=4607) (deflated 38%)
adding: images/ (in=0) (out=0) (stored 0%)
adding: images/cross.gif (in=157) (out=160) (deflated -1%)
adding: images/not.gif (in=158) (out=161) (deflated -1%)

Puedes ver desde esta salida que el fichero JAR TicTacToe.jar est� comprimido. La herramienta JAR comprime los ficheros por defecto. Puedes desactivar la compresi�n utilizando la opci�n 0 (cero), con lo que el comando se parecer�a a esto.

jar cvf0 TicTacToe.jar TicTacToe.class audio images

Podr�as querer evitar la compresi�n, por ejemplo, para incrementar la velocidad a la que el fichero JAR podr�a ser cargado por un navegador. Los ficheros JAR sin comprimir generalmente pueden cargarse m�s r�pido que los comprimidos porque no necesitan descomprimir los ficheros durante la descarga.

La herramienta JAR aceptar� argumentos que utilicen el s�bolo de comod�n *. Como no existen ficheros en el directorio TicTacToe que no se quieran a�adir, podr�as utilizar este comando alternativo para construir el fichero JAR.

jar cvf TicTacToe.jar *

Una nota final: aunque la salida verbosa no lo indique, la herramienta Jar a�ade autom�ticamente un fichero de manifiesto al archivo JAR en la localizaci�n META-INF/MANIFEST.MF.

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP
ARTÍCULO ANTERIOR

SIGUIENTE ARTÍCULO