Name des JAR-Files in einer Klasse erfragen

Hallo,

kann ich irgendwie herausbekommen wie das JAR-File heißt in der die Klasse X liegt ?
Ich möchte in der Klasse X abfragen in welchem JAR-File die Klasse liegt. Mit dieser Info könnte ich dann weitere Infos aus dem Manifest des JAR-Files lesen. Infos (Versionierung), die ich zuvor mit ANT hineingeschrieben habe.

Hier mein Anzatz:
JarFile jarFile = new JarFile(„MEINJAR.jar“);
System.out.println( jarFile.getManifest().getMainAttributes().getValue(„Ant-Version“));

Jetzt muß ich also nur noch den Namen „MEINJAR.jar“ herausbekommen.

Danke
Albert

Hallo,

kann ich irgendwie herausbekommen wie das JAR-File heißt in
der die Klasse X liegt ?

ich weiß nicht ob das auch eleganter geht, aber mein Ansatz wäre wohl die im classpath vorkommenden JAR Files (System.getProperty(„java.class.path“)) auf die Existenz der entsprechenden Klasse zu prüfen.

gruß
Heavy

Hallo,

Ich möchte in der Klasse X abfragen in welchem JAR-File die
Klasse liegt.

bin zufällig gerade über ein ähnliches Problem gestolpert, und siehe da, es geht tatsächlich eleganter als mein ursprünglicher Ansatz (hätte ich eigentlich auch schon früher drauf kommen können:

 ClassLoader cl = this.getClass().getClassLoader();
 URL resourceUrl = cl.getResource(this.getClass().getName());
 System.out.println("RESOURCE: " + resourceUrl.toString());

gruß
Heavy