Woher weiß man, wo eine Klasse in Java geladen wurde?

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".