Download Archivos jar

Document related concepts
no text concepts found
Transcript
Archivos jar
Archivos jar
Los archivos jar permiten introducir todos los archivos necesarios para ejecutar una aplicación (clases, imágenes, sonidos,
archivos de texto, etc.) en uno solo con la posibilidad de comprimirlos. Pero además ofrecen otras posibilidades, entre las que
se encuentra la posibilidad de añadir información adicional: versión del programa, quién lo ha creado, entre otra y la que en
nuestro caso nos interesa: indicar la clase principal (la que contiene el método main) para poder ejecutarla con el intérprete del
JDK (el programa java). Esta información se guarda en un archivo dentro del jar, que se llama MANIFEST.MF cuya ruta
dentro del archivo jar será siempre META-INF/MANIFEST.MF. Este archivo es creado por defecto siempre que se crea un
archivo jar. Este archivo se puede personalizar. Para administrar un archivo jar se usa el programa jar del JDK.
Crear un archivo jar
A continuación se muestra un ejemplo de cómo crear un archivo jar con las opciones más usuales.
jar cfv MiArchivo.jar Clase1.class Clase2.class Imagen.gif Sonido.au OtrosArchivos
El ejemplo indica que se va a crear un jar de nombre MiArchivo.jar que contendrá los archivos Clase1.class, Clase2.class,
Imagen.gif y Sonido.au y el directorio OtrosArchivos. Como se puede observar en un archivo jar podemos meter cualquier tipo
de archivo, incluso directorios. Si existe alguna referencia a archivos dentro de otro directorio estas se mantendrán sin
producirse errores ya que la jerarquía de directorios se mantiene dentro del archivo. En el ejemplo se han empleado las
opciones c, f y v de la línea de comandos. Estas opciones y otras se explican a continuación:
Uso: jar {ctxui}[vfm0Me] [archivo‐jar] [archivo‐manifiesto] [punto‐entrada] [‐C dir] archivos...
‐c crear archivo de almacenamiento.
‐t crear la tabla de contenido del archivo de almacenamiento.
‐x extraer el archivo mencionado (o todos) del archivo de almacenamiento.
‐u actualizar archivo de almacenamiento existente.
‐v generar salida detallada de los datos de salida estándar.
‐f especificar nombre del archivo de almacenamiento.
‐m incluir información de un archivo de manifiesto especificado.
‐e especificar punto de entrada de la aplicación para aplicación autónoma que se incluye dentro de un archivo jar ejecutable.
‐0 sólo almacenar; no utilizar compresión ZIP
‐M no crear un archivo de manifiesto para las entradas.
‐i generar información de índice para los archivos jar especificados.
‐C cambiar al directorio especificado e incluir el archivo siguiente.
Si algún archivo coincide también con un directorio, ambos se procesarán.
El archivo de manifiesto es un archivo de texto plano (sin formato) por lo que podrá ser creado con cualquier editor de textos.
El archivo podrá tener cualquier nombre y/o extensión ya que lo que el programa jar hará será mezclar el contenido de este
archivo con el que se crea por defecto.
En nuestro caso el archivo de manifiesto tendrá una sola línea en la que indicaremos la clase principal (la que contiene el
método main). Esto se hace de la siguiente forma:
Se edita en el bloc de notas la línea, donde dice ClasePrincipal iría el nombre de nuestra clase
Main-Class: ClasePrincipal
Grabarlo  MiManifiesto.mf
HAY QUE TENER MUCHO CUIDADO AL EDITAR ESTE ARCHIVO, Main-Class: ClasePrincipal ES LA ÚNICA
LÍNEA QUE DEBERÁ DE APARECER NO DEBE DE HABER ESPACIO AL INICIO DE LA LÍNEA, EL ÚNICO
ESPACIO QUE DEBE DE APARECER ES EL QUE ESTÁ ENTRE LOS DOS PUNTOS Y EL NOMBRE DE LA
CLASE QUE CONTIENE EL MÉTODO main(), AL FINALIZAR LA LÍNEA ES NECESARIO DAR ENTER, UNA
VEZ HECHO ESTO SE GRABA EL ARCHIVO, PUEDE IR CON CUALQUIER EXTENSION, ES MÁS COMÚN
PONERLE .MF PERO NO AFECTA SI ES OTRA LA EXTENSION, SOLO TENER CUIDADO DE AGREGARLA
AL MOMENTO DE GENERAR EL ARCHIVO jar.
De este modo se indica cual es la clase principal (sin .class). Ahora deberemos crear el archivo jar con esta información. A
continuación se muestra un ejemplo:
maria eugenia puga nathal
Página 1
08/08/2017
Archivos jar
jar cvmf MiManifiesto.mf MiArchivo.jar ClasePrincipal.class OtraClase.class Imagen.gif
Se observa que tras las opciones, en las que está la opción m explicada anteriormente, se indica el nombre del archivo de
manifiesto. Ahora solamente tendremos que indicar que los archivos .jar se abran con el programa Java y con la opción -jar en
la línea de comandos. Esto ya lo hace el instalador del J2SE por lo que no será necesario hacerlo nosotros.
Es importante verificar en el archivo jar generado, en caso de que sea ejecutable, que el archivo MANIFEST.FM, se haya
actualizado con la información emitida desde nuestro archivo MiManifiesto.mf, es decir que contenga la línea:
Main-Class: y nuestra clase que contiene el método main(), en caso de que no se encuentre, modificarlo manualmente, es
necesaria para que el archivo jar generado sea de tipo ejecutable, y verificar que se actualice en el archivo jar.
Fuente: http://www.gamarod.com.ar
Información tomada de la página: http://www.trucoswindows.net/foro/topico-78356-archivos-jar.html
Documento: Creando archivos *.jar 2008; Mamandi Condori Edgar Manuel
Ver contenido
jar tvf archivo.jar
Comprimir
jar cvf archivo.jar archivo_1 archivo_2 archivo_3 ... archivo_n
Descomprimir
jar xvf archivos.jar
Incorporar un archivo jar a un Applet
Suponer que tenemos un applet de nombre Arbolito.java, vamos a suponer que este applet utiliza imágenes, que se encuentran
en una carpeta images y sonidos que se encuentran en una carpeta rounds, lo compilamos (javac Arbolito.java). Una vez que
ya esté compilado (se genero el archivo Arbolito.class), diseñamos la página Web que contendrá a nuestro applet. Para crear un
archivo .jar que guarde toda esta información, se hace lo siguiente:
1. Ubicarnos en el directorio (o carpeta) que contiene nuestra aplicación.
2. Una vez ubicados en dicho directorio, en la consola del MSD (o de cualquier otro S.O.) escribir:
jar -cvf Arboilito.jar Arbolito.class audio images
(jar –cvf nombreNuestroArchivo.jar NombreClaseApplet carpetaImagenes carpetaAudio)
3. Ya tenemos el archivo Arbolito.jar creado.
El archivo Arbolito.java no está incluido porque no es necesario para la ejecución del programa, aunque se podría haber
incluido si asi lo quisieran (para la entrega de los trabajos conmigo, si se debe incluir).
Para cargar el applet desde una página html sólo debemos copiar este archivo a la misma carpeta donde esté la página.
La página por su parte debe incluir un código similar al siguiente para "incrustar" el applet en ésta:
<applet code="Arbolito.class"
archive="Arbolito.jar"
width="120"
height="120">
</applet>
Ejecutar:
Aplicación de consola, si estamos en Windows sólo dar doble clic en ésta, si es un applet, abrir la página Web que lo contiene
Consola:
java –jar archive.jar
(aplicación de consola)
appletviewer pagina.html (si es un applet)
maria eugenia puga nathal
Página 2
08/08/2017