Woher hat die JVM eine Klasse geladen?
How To ...
Wie bekommt man heraus, woher die JVM eine Klasse geladen hat?
Hintergründe
Klassen werden dynamisch durch einen ClassLoader in die JVM geladen. Man kann erfragen von wo (Dateisystem, Jar, URL, ...) eine Klasse geladen wurde.
So geht's
Man ruft die Methoden-Folge getProtectionDomain().getCodeSource().getLocation() auf:
URL codeDir = MyClass.class.getProtectionDomain().getCodeSource().getLocation();
oder
String codedir = MyClass.class.getProtectionDomain().getCodeSource()
.getLocation().toURI().getPath();
