Red de conocimiento informático - Material del sitio web - Cómo compilar el código fuente en un paquete jar

Cómo compilar el código fuente en un paquete jar

Primero abra el símbolo del sistema (win2000 o ejecute el comando cmd en el cuadro de ejecución, win98 es el símbolo del sistema DOS), ingrese jar Chelp y luego presione Entrar (si ya hay una versión jdk1.1 o superior en el disco), vea qué es:

Uso: jar {ctxu}[vfm0Mi] [archivo-jar] [archivo-manifest] [-directorio-C] nombre de archivo...

Opciones:

-c Crear un nuevo archivo

-t Enumerar el contenido del archivo

-x Expandir los archivos nombrados (o todos) en el archivo

- u Actualizar un archivo existente

-v Produce una salida detallada a la salida estándar

-f Especifica el nombre del archivo comprimido

-m Contiene la información de la etiqueta

-0 Solo almacena métodos; no usa formato de compresión zip

-M No genera un archivo de manifiesto que contenga todos los proyectos

-i Genera el jar especificado archivo La información del índice

-C cambia al directorio especificado y contiene los siguientes archivos:

Si el nombre del archivo es un directorio, se procesará de forma recursiva.

Debe especificar tanto el nombre del archivo de manifiesto como el nombre del archivo de almacenamiento en el mismo orden especificado por los indicadores "m" y "f".

Primero escriba el archivo de manifiesto ejemplo.mf en el directorio actual del archivo de recursos

El formato del archivo mf es el siguiente:

La primera línea es:

Main-Class: Hola

Debe haber al menos dos líneas en blanco después.

Donde Hello.class es el nombre de clase de la función principal en el programa que estás escribiendo.

Hay dos cosas que debes recordar:

1. Debe haber un espacio después de la primera línea "Main-class:". Debe haber al menos dos líneas de espacios después

2. El nombre de la clase no se puede escribir en el formato Hello.class, por lo que se omiten los retrocesos.

Lo intenté y te equivocas porque no hay espacio después de "Main-class:".

Ejecutar en el directorio CLASS: jar cfm ejemplo.jar ejemplo.mf A.class B.class

Ejemplo 1: Archivar dos archivos de clase en un archivo llamado "classes.jar " En el archivo de almacenamiento:

jar cvf classs.jar Foo.class Bar.class

Ejemplo 2: uso del archivo de manifiesto existente "mymanifest " Archivar todo archivos en el directorio foo/ en un archivo llamado "classes.jar ":

jar cvfm classs.jar mymanifest -C foo/ .

Pruebe con un pequeño ejemplo:

Solo tenemos un HelloWorld, como se muestra a continuación:

public class HelloWorld{

public static void main(String[ ] args){

p >

Sistema.

}

}

Guarde este archivo java en el directorio de la unidad C, OK, siguiente,

En el símbolo del sistema que se abrió antes (salte al símbolo de la unidad C), ingresamos javac HelloWorld.java y luego continuamos escribiendo: jar cvf hello.jar HelloWorld.class, presionamos Enter y vamos a la unidad C para tener una mirada ¿Qué más hay? Sí, hola.jar.

Ahora conocemos los pasos básicos. Puedes intentar agregar diferentes parámetros después del jar para ver cómo cambian los resultados.

A continuación, veremos cómo ejecutar nuestro paquete jar.

Antes de ir al grano, debe abrir el paquete jar que acabamos de crear y ver qué hay en el directorio META-INF adicional. Luego eche un vistazo a lo que hay dentro. ¿Hay un archivo MANIFEST.MF? Ábrelo con un editor de texto (yo usé UltraEdit) y mira:

Versión del manifiesto: 1.0

Creado por: 1.4.2 (Sun Microsystems Inc.)

Eso es todo. Aquí lo modificamos agregando una línea: Main-Class: HelloWorld (en la tercera línea). Esta es la misma clase que escribimos antes, que es nuestra clase de entrada. Es decir,

Versión del manifiesto: 1.0

Creado por: 1.4.2 (Sun Microsystems Inc.)

Clase principal: Siguiente Lo que hicimos Se ejecutó el siguiente comando en el símbolo del sistema:

jar umf MANIFEST.MF app.jar (hello.jar creo)

De esa manera, actualizamos los valores predeterminados con nuestro propio archivo MANIFEST.MF. Es posible que desee volver atrás y ver si se ha agregado Main-

Class: HelloWorld.

(De verdad, ¿por qué no lo intento? Pregunta

java.io.FileNotFoundException: MANIFEST.MF (el sistema no puede encontrar el archivo especificado), ¿qué está pasando?

)

Bien, este es el último paso, para verificar todo lo que hemos hecho, escribe en el símbolo del sistema:

java -jar hello.jar (ejecutar)

Qué pasó, ¡Hola, hola mundo!

¡Entonces echemos un vistazo al archivo jar publicado en Tomcat!

Nota: Ya no podemos usar el formato jar en tomcat, pero necesitamos cambiarlo al formato war, que se usa especialmente para aplicaciones web. De hecho, todo el proceso es básicamente el mismo que el de jar. :

Primero, debemos preparar los recursos de embalaje.

Busque el directorio de aplicaciones web de Tomcat, ingréselo, cree una nueva carpeta, llamada aquí hola, luego vaya a la nueva carpeta WEB-INF y luego vaya a las nuevas clases

carpeta, en este momento también necesitamos mover nuestro único servlet, HelloWorld.java aquí, al mismo directorio que la carpeta de clases, y luego movernos a la carpeta de clases. Cree un archivo web.xml en el mismo directorio que la carpeta de clases. Bien, hasta ahora hemos creado una aplicación web sencilla.

Esto es HelloWorld.java:

importar java.io.*

importar javax.servlet.

lt; appgt;

lt;servletgt;

lt;servlet-namegt;hellolt;/servlet-namegt;

lt;servlet-classgt.HelloWorldlt;/servlet -classgt;

lt;/servletgt;

lt;servlet-mappinggt;

lt;servlet-namegt;hellolt;/servlet-namegt;

lt; p>

lt;url-patterngt;/HelloWorldlt;/url-patterngt;

lt;/servlet-mappinggt;

lt;/ web-appgt;

Vaya al símbolo del sistema anterior. En el símbolo del sistema, vaya al directorio de saludo creado anteriormente y ejecute jar cvf hello. war *, recibe hola.war. Cópielo en el directorio de aplicaciones web. Bien, echemos un vistazo al último paso, abra server.xml en el directorio conf de Tomcat y luego agregue:

lt; Context path="/hello" docBase="hello.war" debug= "0 " reloadable="true"/gt;

¡Listo! Ejecútelo, inicie Tomcat y escriba presionado en el navegador.

5)jar cmf MANIFEST.MF myjar.jar yahh.txt

m: se utiliza para incluir información de manifiesto de un MF myjar.jar yahh.txt existente

M---- No se debe generar el archivo de manifiesto predeterminado.

7)jar cvf myjar. jar *

* -- Crea todos los contenidos en el directorio actual.

2. Ver archivo jar

jar tf jar-file

t--- El directorio donde desea ver el archivo JAR.

por ejemplo: 1)jar vft yahh.3. Extraer archivo jar

jar xf archivo-jar [archivo(s) archivado(s)] <

x- -- Quiere extraer archivos de un archivo JAR.

por ejemplo: 1)jar xf yahh.jar yahh.txt (solo extrae el archivo yahh.txt)

2)jar xf yahh.jar alex/yahhalex.txt (solo extrae el archivo de directorio yahhalex.txt en alex)

3)jar xf yahh.jar (extrae todos los archivos o directorios en el paquete jar)

4 Modificar el archivo de manifiesto

jar cmf manifest-addition archivo-jar-archivo(s) de entrada

m-- Se utiliza para incluir información de manifiesto de un archivo de manifiesto existente. Actualizar archivo jar

jar uf archivo-jar-archivo(s) de entrada

u--- Quiere actualizar un archivo JAR existente.