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