Cuando se ejecuta una aplicación Java, necesita cargar los bytes de las clases utilizadas en la memoria. Por lo tanto, existen ciertos requisitos para la ubicación de los archivos de código de bytes, que generalmente se dividen en las siguientes cuatro situaciones:
1. Utilice una clase sin nombre de paquete en el directorio donde se encuentra la aplicación actual:
Las clases que no tienen un nombre de paquete en el directorio donde se encuentra la aplicación actual se pueden cargar y usar directamente.
2. Utilice clases en la biblioteca de clases en el entorno de ejecución de Java:
Todas las clases en la biblioteca de clases proporcionada por el entorno de ejecución de Java tienen nombres de paquetes y la aplicación debe usar la declaración de importación para introducir las clases en el paquete correspondiente.
3. Utilice clases de directorios que sean descendientes del directorio actual de la aplicación:
Los directorios descendientes en el directorio actual de la aplicación se pueden usar como el nombre del paquete definido por el usuario. Las clases con este nombre de paquete deben almacenarse en estos directorios descendientes. La aplicación puede usar la declaración de importación para introducir clases en el usuario. -paquete definido.
4. Utilice clases en la extensión del entorno de ejecución de Java:
Podemos usar el comando jar.exe para comprimir los archivos de código de bytes de algunas clases en un archivo jar y luego almacenar el archivo jar en la extensión del entorno de ejecución de Java, es decir, almacenar el archivo jar en jrelibext de la carpeta de instalación de JDK, para que las aplicaciones Java puedan usar las clases en este archivo jar para crear objetos.
clase con nombre de paquete
Supongamos que el nombre del paquete de las siguientes clases TestOne y TestTwo es moon.star.
TestOne.java
packagemoon.star;// Declaración del paquete publicclassTestOne{publicvoidfTestOne(){System.out.println(IamamethodInTestOneclass);}}
PruebaTwo.java
packagemoon.star;// Declaración del paquete publicclassTestTwo{publicvoidfTestTwo(){System.out.println(IamamethodInTestTwoclass);}}
Guarde TestOne.java y TestTwo.java en el directorio C:1000moonstar y luego ingrese a este directorio para compilar los dos archivos fuente respectivamente.
Ahora, comprimiremos TestOne.class y TestTwo.class en el directorio C:1000moonstar en un archivo jar: Jerry.jar.
Primero, escribimos un archivo de manifiesto: hello.mf (Manifestfiles).
hola.mf
Versión del manifiesto: 1.0 Clase: moon.star.TestOnemoon.star.TestTwoCreado por: 1.6
Guarde hello.mf en el directorio C:1000. Para utilizar el comando jar para generar un archivo jar, primero debe ingresar al directorio C:1000, es decir, ingresar el directorio encima del nombre del paquete y luego. use el comando jar para generar un archivo llamado Jerry.jar.
C:1000>jarcfmJerry.jarhello.mfmoonstarTestOne.classmoonstarTestTwo.class
Si C:1000moonstar solo tiene dos archivos de código de bytes, TestOne.class y TestTwo.class, también puede usar el comando jar.
C:1000>jarcfmJerry.jarhello.mfmoonstar*.clase
Finalmente, copie el archivo Jerry.jar generado por el comando jar en el directorio C:1000 a la extensión del entorno de ejecución de Java, es decir, almacene el archivo Jerry.jar en la carpeta jrelibext de la instalación de JDK. directorio.
Clase sin nombre de paquete
Si las clases TestOne y TestTwo no tienen nombres de paquetes, simplemente guarde TestOne.java y TestTwo.java en C:1000 y compile los archivos de código de bytes. Escriba un archivo de manifiesto, luego guárdelo en C:1000, ingrese al directorio C:1000 y use el comando jar.
C:1000>jarcfmJerry.jarhello.mfTestOne.classTestTwo.class
Si C:1000 solo tiene dos archivos de código de bytes, TestOne.class y TestTwo.class, también puede usar el comando jar.
C:1000>jarcfmJerry.jarhello.mf*.clase
Finalmente, copie el archivo Jerry.jar generado por el comando jar en el directorio C:1000 a la carpeta jrelibext en el directorio de instalación de JDK. La aplicación puede usar TestOne.class y TestTwo directamente en el archivo Jerry.jar. . .clase.