Vous pouvez faire une des deux choses:
1) Appelez getResources()
et parcourir la collection en retour de l'Url, à les lire que se manifeste jusqu'à ce que vous trouviez le vôtre:
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
}
}
2) Vous pouvez essayer de vérifier si getClass().getClassLoader()
est une instance de l' java.net.URLClassLoader
. La majorité de Soleil chargeurs de classes, y compris AppletClassLoader
.
Vous pouvez alors jetez-y et appelez - findResource()
qui a été connu pour les applets, au moins, retourner le besoin manifeste directement:
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
}