Cómo escribir el paquete JAR, paquete JAR ejecutable
JET se compra con dinero y se dice que JET no puede compilar todos los programas Java en archivos ejecutables y que el rendimiento se verá algo comprometido. Por lo tanto, el método de crear un paquete JAR ejecutable
es la mejor opción y también mantiene la naturaleza multiplataforma de Java.
La siguiente es una introducción a lo que es un paquete JAR:
1. Paquete JAR
JAR
Un archivo es un Java. Archivo de almacenamiento. Como sugiere el nombre, está estrechamente relacionado con Java, es un formato de documento Java. Los archivos JAR son muy similares a los archivos ZIP. La única diferencia entre un archivo JAR y un archivo ZIP es que dentro del contenido del archivo JAR hay un archivo
META-INF/MANIFEST.MF, que se crea automáticamente cuando se genera el archivo JAR. Este archivo se crea automáticamente cuando se genera el archivo JAR. Por ejemplo, si tenemos un archivo con la siguiente estructura de directorios:
===
`-- test
`-- Test.class p>
Comprimirlo en un archivo ZIP test.zip. La estructura de directorios internos del archivo ZIP será:
test.zip add: test/Test.class (lectura= 7) (escribir). = 6) (comprimido por 14)
3) jar cvfM test.jar test
El resultado de este comando es similar a 2), pero META-INF/ no está incluido en el archivo test.jar generado, la información del proceso de empaquetado también es ligeramente diferente:
El resultado de este comando es similar a 2), pero el archivo META-INF/MANIFEST no está incluido en el test.jar generado. La información del proceso de empaquetado también es ligeramente diferente:
add: test/(read= 0) (write= 0) (stored 0)
add: test/Test.class (lectura = 7) (escritura = 6) (comprimido 14)
4) jar cvfm test.jar manifest.mf test
Este comando produce resultados similares a 2), pero genera El test.jar no contiene el archivo META-INF/MANIFEST.
El resultado es similar a 2), y la información mostrada es la misma, excepto que el contenido de META-INF/MANIFEST en el paquete JAR generado es diferente, contiene el contenido de manifest.mf
5) jar tf test.jar
Si test.jar ya existe, puede ver el contenido de test.jar.
p>Para 3)
test/
test/Test.class
6) jar tvf test.jar
Excepto pantalla 5 ), también incluye detalles de los archivos en el paquete, como
0 miércoles 19 de junio 15:39:06 GMT 2002 META-INF/
86 miércoles 19 de junio 15: 39:06 GMT 2002 META-INF/MANIFEST.MF
0 miércoles 19 de junio 15:33:04 GMT 2002 prueba/
7 miércoles 19 de junio 15:33 :04 GMT 2002 test/Test.class
7) jar xf test.jar
Expande test.jar al directorio actual, pero no muestra ninguna información. Para el test.jar generado en 2), la estructura del directorio jar descomprimido es la siguiente:
==
|-- META-INF
| -- MANIFEST
`-- test
`-- Test.class
8) jar xvf test.jar
Ejecute el El resultado es el mismo que 7), y se muestra información detallada del proceso de descompresión, por ejemplo:
Crear: META-INF/
Expandir: META-INF/MANIFEST.MF p >
Crear: prueba/
Expandir: prueba/Test.class
9) jar uf test.jar manifest.mf
en p >
Se agregó un archivo manifest.mf a test.jar. Si usa jar tf para ver test.jar, verá que test.jar
tiene un manifiesto. Por cierto, si usa el parámetro -m y especifica el archivo manifest.mf, manifest.mf
se usará como archivo de manifiesto y su contenido se agregará a MANIFEST; sin embargo, si usa; como un archivo normal Agregado al paquete JAR
, no es diferente de un archivo normal.
10) jar uvf test.jar manifest.mf
El resultado es el mismo que 9), pero con información detallada, como por ejemplo:
Agregado: manifest.mf (lecturas = 17) (escrituras = 19) (comprimido por -11)
4. Algunos consejos sobre los paquetes JAR
1) Utilice paquetes JAR como archivos normales. p>
1) Descomprima el archivo JAR usando unzip
Como se menciona en
Introducción a los archivos JAR, un archivo JAR es en realidad un archivo ZIP, por lo que Puede utilizar herramientas comunes de descompresión de archivos ZIP para descomprimir archivos JAR
, como WinZip, WinRAR, etc. en Windows y descomprimirlos en Linux. WinZip, WinRAR, etc. en Windows y descompresión en Linux. Se utilizan WinZip y WinRAR porque son intuitivos y fáciles de usar.
Se utiliza descomprimir porque el directorio de destino se puede especificar utilizando el parámetro -d.
Al descomprimir archivos
JAR, no puede usar el parámetro -C de jar para especificar el directorio de destino, porque el parámetro -C
solo se usa cuando crear o actualizar un paquete de software Disponible. Si desea extraer los archivos a un directorio específico, debe copiar el archivo JAR
al directorio de destino y luego extraerlo, lo cual requiere mucho trabajo. Con descomprimir no es necesario hacer esto, simplemente especifique un parámetro -d. Por ejemplo
descomprimir test.jar -d dest/
2) Utilice WinZip o WinRAR para crear un archivo JAR
Arriba
mencionado JAR El archivo es un archivo ZIP que contiene META-INF/MANIFEST, así que solo use WinZip, WinRAR
y WinRAR. WinZip, WinRAR
etc. cree el archivo ZIP requerido y luego agregue el directorio META-INF que contiene el archivo MANIFEST en el archivo ZIP. Si especifica un archivo de manifiesto usando el parámetro -m del comando jar
, simplemente modifique el archivo MANIFEST según sea necesario.
3) Utilice jar para crear archivos ZIP
Algunos Linux proporcionan el comando descomprimir, pero no el comando zip, por lo que debe poder descomprimir el archivo ZIP, es decir, no se puede crear un archivo ZIP. Para crear archivos
ZIP, puede usar el comando jar con el parámetro -M, porque el parámetro -M significa que la lista MANIFEST
no se agregará al paquete JAR. así que simplemente agregue Simplemente cambie la extensión .jar a .zip. Cuando especifique el archivo JAR de destino, cambie la extensión .jar a .zip y obtendrá un archivo ZIP completo