Weiß jemand, wie man programmgesteuert herausfindet, woher der Java-Klassenladeprogramm die Klasse tatsächlich lädt?
Ich arbeite oft an großen Projekten, bei denen der Klassenpfad sehr lang wird und die manuelle Suche keine Option ist. Ich hatte kürzlich ein Problem, bei dem der Klassenladeprogramm eine falsche Version einer Klasse lud, weil sie sich an zwei verschiedenen Stellen im Klassenpfad befand.
Wie kann ich den Klassenladeprogramm dazu bringen, mir mitzuteilen, woher auf der Festplatte die eigentliche Klassendatei stammt?
Bearbeiten: Was ist, wenn der Klassenladeprogramm die Klasse aufgrund einer Versionsinkongruenz (oder etwas anderem) nicht laden kann? Können wir trotzdem herausfinden, welche Datei er zu lesen versucht, bevor er sie liest?