Un JAR (Java Archive) es un formato de archivo de paquete que normalmente se usa para agregar muchos archivos de clase Java y metadatos y recursos asociados (texto, imágenes, etc.) en un solo archivo para distribuir software de aplicación o bibliotecas en la plataforma Java.
En palabras simples, un archivo JAR es un archivo que contiene una versión comprimida de archivos .class, archivos de audio, archivos de imagen o directorios. Podemos imaginar un archivo .jar como un archivo comprimido (.zip) que se crea utilizando el software WinZip. Incluso, el software WinZip se puede utilizar para extraer el contenido de un .jar. Por lo tanto, puede usarlos para tareas como la compresión de datos sin pérdidas, el archivado, la descompresión y el desempaquetado de archivos.
Veamos cómo crear un archivo .jar y los comandos relacionados que nos ayudan a trabajar con archivos .jar
1.1 Crear un archivo JAR
Para crear un archivo .jar, podemos usar el comando jar cf de las siguientes maneras, como se explica a continuación:
Sintaxis:
jar cf jarfilename inputfiles
Aquí, cf representa para crear el archivo. Por ejemplo, suponiendo que nuestro paquete de paquetes esté disponible en C:\directory, para convertirlo en un archivo jar en pack.jar, podemos dar el comando como:
C:\> jar cf pack.jar pack
1. 2 Ver un archivo JAR
Ahora, se crea el archivo pack.jar . Para ver un archivo JAR ‘.jar’, podemos usar el comando como:
Sintaxis:
jar tf jarfilename
Aquí, tf representa la vista de tabla del contenido del archivo. Por ejemplo, para ver el contenido de nuestro archivo pack.jar, podemos dar el comando:
C:/> jar tf pack.jar
Ahora, el contenido de pack.jar se muestra de la siguiente manera:
META-INF/ META-INF/MANIFEST.MF pack/ pack/class1.class pack/class2.class .. ..
Aquí class1, class2, etc. son las clases en el paquete del paquete. Las dos primeras entradas representan que hay un archivo de manifiesto creado y agregado a pack.jar. La tercera entrada representa el subdirectorio con el paquete de nombres y las dos últimas representan el nombre de los archivos en el paquete de directorios.
Nota: Cuando creamos archivos .jar, recibe automáticamente el archivo de manifiesto predeterminado. Solo puede haber un archivo de manifiesto en un archivo y siempre tiene el nombre de la ruta.
META-INF/MANIFEST.MF
Este archivo de manifiesto es útil para especificar la información sobre otros archivos que se empaquetan.
1.3 Extraer un archivo JAR
Para extraer los archivos de un archivo .jar, podemos usar los comandos que se enumeran a continuación:
jar xf jarfilename
Aquí, xf representa extraer archivos de los archivos jar. Por ejemplo, para extraer el contenido de nuestro archivo pack.jar, podemos escribir:
C:\> jar xf pack.jar
Esto creará los siguientes directorios en C:\
META-INF
En este directorio podemos ver class1.class y class2.class.
pack
1.4 Actualización de un archivo JAR
La herramienta Jar proporciona una opción ‘u’ que puede usar para actualizar el contenido de un archivo JAR existente modificando su manifiesto o agregando archivos. El comando básico para agregar archivos tiene este formato como se muestra a continuación:
Sintaxis:
jar uf jar-file input-file(s)
Aquí ‘ uf’ representa el archivo jar actualizado. Por ejemplo, para actualizar el contenido de nuestro archivo pack.jar, podemos escribir:
C:\>jar uf pack.jar
1.5 Ejecutar un archivo JAR
Para ejecutar una aplicación empaquetada como un archivo JAR (requiere el encabezado de manifiesto de clase principal), se puede usar el siguiente comando como se indica:
Sintaxis:
C:\>java -jar pack.jar
Artículo relacionado: Trabajar con archivos JAR y Manifest en Java
Este artículo es una contribución de Nishant Sharma . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA