Maison > Java > javaDidacticiel > le corps du texte

Comment accéder au manifeste de votre propre pot en Java ?

Linda Hamilton
Libérer: 2024-11-12 11:38:02
original
951 Les gens l'ont consulté

How to Access the Manifest of Your Own Jar in Java?

Lecture du manifeste de votre propre pot

Accéder au fichier manifeste associé à votre propre classe peut être un défi, en particulier lorsque vous utilisez getClass( ).getClassLoader().getResource(...). Cette méthode peut renvoyer le manifeste à partir d'un autre fichier .jar si elle est appelée depuis un environnement applet ou webstart.

Pour surmonter cette limitation, envisagez les solutions suivantes :

1. Itération à travers les URL des manifestes

Parcourez les URL renvoyées par getResource(...) et lisez-les sous forme de manifestes jusqu'à ce que vous trouviez la bonne :

Enumeration<URL> resources = getClass().getClassLoader()
   .getResources("META-INF/MANIFEST.MF");
while (resources.hasMoreElements()) {
     try {
       Manifest manifest = new Manifest(resources.nextElement().openStream());
       // check that this is your manifest and do what you need or get the next one
       ...
     } catch (IOException E) {
       // handle
     }
}
Copier après la connexion

2 . Utilisation d'URLClassLoader

Si getClass().getClassLoader() est une instance de java.net.URLClassLoader, vous pouvez la lancer et utiliser findResource(...):

URLClassLoader cl = (URLClassLoader) getClass().getClassLoader();
try {
   URL url = cl.findResource("META-INF/MANIFEST.MF");
   Manifest manifest = new Manifest(url.openStream());
   // do stuff with it
   ...
} catch (IOException E) {
   // handle
}
Copier après la connexion

Cette approche est connue pour renvoyer le manifeste correct pour les applets.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal