Classpath Zwei Bibliotheken enthalten gleiche .class Datei

louis12356

Mitglied
Hallo,

ich habe zwei externe Bibliotheken in meinem Classpath, jedoch verwende ich letzendlich auch beide. Wie kann ich in Java entscheiden, wann welche .class Datei benutzt werden soll ? Lässt sich das bereits beim Import bewerkstelligen ?


Vielen Dank, Louis
 
Ja.

Java:
import die.klasse.die.ich.mag.Klasse;

class MyClass
{
      public void methode()
      {
               Klasse k = new Klasse();
      }

     ....
}
 
Soweit ich mich erinnere hat man keinen Einfluss darauf. Ich meine sogar es ist nicht definiert welche der beiden beim Start geladen wird. Einmal könnte es No1 sein und beim nächsten Start könnte es No2 sein. Man möge mich verbessern wenn ich falsch liege. Meine Aussage bezieht sich übrigens auf die Annahme, dass diese Klassen nicht nur den gleichen Namen haben, sondern auch deren Paketstruktur identisch ist.
 
Das einzige was du da machen kannst, ist die Paketstruktur umbennen. Woher soll Java wissen, welche die richtige Klasse ist? Es muss eindeutig sein.
 
Ich habe es nun so gelöst, dass zuerst die Klasse geladen wird, die ich auch zuerst brauche - dazu mussten die .jar Dateien umbenannt werden, sodass die richtige Datei oben steht (a.jar und b.jar; a.jar wird dann als erstes geladen).
 
Liegen die beiden Klassen denn überhaupt in demselben Paket? Dazu steht hier noch nichts. Ansonsten kann man den Klassennamen ja mit dem Paketnamen qualifizieren.
 

Zurück
Oben