Zwei Klassen mit demselben Namen im classpath
Wenn ich zwei Klassen mit demselben Namen sagen Matcher.java in zwei unterschiedlichen jar in meinem classpath, die man abgeholt werden von der JVM , ist es trotzdem kann ich empfehlen JVM zu Holen, eine bestimmte eine ?
- Während dieses Problem definierte Verhalten, bitte sagen Sie mir, dass Sie nie haben, solche Konflikte sich selbst. Pakete gibt es für Gründe, nicht wahr?
- Dieser könnte hilfreich sein, zu betrachten
Du musst angemeldet sein, um einen Kommentar abzugeben.
Zitieren Oracle:
Beispiel erwähnt:
Also ja, es wird geladen, das scheint man in der classpath angegeben ersten.
java -cp C:\java\*
? Dann wird es der erste Blick auf dieC:\java\A.jar
oderC:\java\B.jar
oder ist es unspezifisch Verhalten?Den ersten fand man in den classpath. dh, der erste Krug, Ihre Klasse verwendet werden.
Die Sie nicht kontrollieren können Sie es innerhalb der JVM, aber Sie kann Kontrolle der classpath - stellen Sie sicher, die Sie wollen, ist gelistet/gefunden, zuerst im classpath.
es ist ein Weg für Sie, um anzugeben, wo die Klasse sollte abgeholt werden, von.. erstellen Sie Ihre eigenen class loader lädt Klassen, entsprechend Ihrer Anforderung.
können Sie Ihre Klasse geladen in 2 Wege
java -Djava.system.class.loader
)=com.somepackage.YourCustomClassLoader com.somepackage.YourMainClass
hier werden einige nützliche links auf Klasse be
Verwenden Sie den vollständig qualifizierten Pfad der Klasse, wenn Sie es verwenden. Aber wenn du meinst das die Klasse mit dem gleichen Namen hat auch die gleiche Paket - Update der class-path.