Lorsqu'une application Java est en cours d'exécution, elle doit charger les octets des classes utilisées dans la mémoire. Par conséquent, il existe certaines exigences concernant l'emplacement des fichiers de bytecode, qui sont généralement divisées dans les quatre situations suivantes :
1. Utilisez une classe sans nom de package dans le répertoire où se trouve l'application actuelle :
Les classes qui n'ont pas de nom de package dans le répertoire où se trouve l'application actuelle peuvent être chargées et utilisées directement.
2. Utilisez les classes de la bibliothèque de classes dans l'environnement d'exécution Java :
Les classes de la bibliothèque de classes fournie par l'environnement d'exécution Java ont toutes des noms de package et l'application doit utiliser l'instruction import pour introduire les classes dans le package correspondant.
3. Utilisez des classes provenant de répertoires descendants du répertoire actuel de l'application :
Les répertoires descendants sous le répertoire actuel de l'application peuvent être utilisés comme nom de package du package défini par l'utilisateur. Les classes portant ce nom de package doivent être stockées dans ces répertoires descendants. L'application peut utiliser l'instruction import pour introduire des classes dans l'utilisateur. -paquet défini.
4. Utilisez les classes dans l'extension de l'environnement d'exécution Java :
Nous pouvons utiliser la commande jar.exe pour compresser les fichiers de bytecode de certaines classes dans un fichier jar, puis stocker le fichier jar dans l'extension de l'environnement d'exécution Java, c'est-à-dire stocker le fichier jar dans jrelibext de le dossier d'installation du JDK, afin que les applications Java puissent utiliser les classes de ce fichier jar pour créer des objets.
classe avec le nom du package
Supposons que le nom du package des classes TestOne et TestTwo suivantes est moon.star.
TestOne.java
packagemoon.star;//Instruction de package publicclassTestOne{publicvoidfTestOne(){System.out.println(IamamethodInTestOneclass);}}
TestTwo.java
packagemoon.star;//Instruction de package publicclassTestTwo{publicvoidfTestTwo(){System.out.println(IamamethodInTestTwoclass);}}
Enregistrez TestOne.java et TestTwo.java dans le répertoire C:1000moonstar, puis entrez dans ce répertoire pour compiler respectivement les deux fichiers sources.
Maintenant, nous allons compresser TestOne.class et TestTwo.class dans le répertoire C:1000moonstar dans un fichier jar : Jerry.jar.
Tout d’abord, nous écrivons un fichier manifeste : hello.mf (Manifestfiles).
bonjour.mf
Version du manifeste : 1.0Classe :moon.star.TestOnemoon.star.TestTwoCreated-By : 1.6
Enregistrez hello.mf dans le répertoire C:1000 Pour utiliser la commande jar pour générer un fichier jar, vous devez d'abord entrer dans le répertoire C:1000, c'est-à-dire entrer le répertoire au-dessus du nom du package, puis utilisez la commande jar pour générer un fichier nommé Jerry.jar.
C:1000>jarcfmJerry.jarhello.mfmoonstarTestOne.classmoonstarTestTwo.class
Si C:1000moonstar ne contient que deux fichiers de bytecode, TestOne.class et TestTwo.class, vous pouvez également utiliser la commande jar.
C:1000>jarcfmJerry.jarhello.mfmoonstar*.class
Enfin, copiez le fichier Jerry.jar généré par la commande jar dans le répertoire C:1000 vers l'extension de l'environnement d'exécution Java, c'est-à-dire stockez le fichier Jerry.jar dans le dossier jrelibext de l'installation du JDK. annuaire.
Classe sans nom de package
Si les classes TestOne et TestTwo n'ont pas de noms de package, enregistrez simplement TestOne.java et TestTwo.java dans C:1000 et compilez les fichiers de bytecode. Écrivez un fichier manifeste, puis enregistrez-le dans C:1000, entrez dans le répertoire C:1000 et utilisez la commande jar.
C:1000>jarcfmJerry.jarhello.mfTestOne.classTestTwo.class
Si C:1000 ne contient que deux fichiers de bytecode, TestOne.class et TestTwo.class, vous pouvez également utiliser la commande jar.
C:1000>jarcfmJerry.jarhello.mf*.class
Enfin, copiez le fichier Jerry.jar généré par la commande jar dans le répertoire C:1000 dans le dossier jrelibext du répertoire d'installation du JDK. L'application peut utiliser directement TestOne.class et TestTwo dans le fichier Jerry.jar. . .classe.