Wie erfahre ich, woher eine Klasse in Java geladen wurde?
Hier ist ein Tipp, um zu zeigen, woher eine Java-Klasse in Java geladen wurde.
Java-Beispiel
Hier ist ein Beispiel zum Laden einer Java-Klasse mit dem Namen "Address", Paketieren in "com.example.io" und Ausdrucken des Speicherorts, von dem diese Klasse geladen wurde.
import java.net.URL;
import java.security.CodeSource;
import java.security.ProtectionDomain;
public class App{
public static void main(String[] args) {
try{
Class cls = Class.forName("com.example.io.Address");
ProtectionDomain pd = cls.getProtectionDomain();
CodeSource cs = pd.getCodeSource();
URL url = cs.getLocation();
System.out.println(url.getFile());
}catch(Exception ex){
ex.printStackTrace();
}
}
}
Ausgabe
/E:/workspace/HibernateExample/target/classes/
Die Java-Klasse "Address" befindet sich bei "E:/workspace/HibernateExample/target/classes/com/example/io/Address.class".