Java Classloader - Referenzieren verschiedener Versionen einer JAR
Dies ist ein häufiges Problem. Ich benutze 2 BibliothekenAngelehnt undB.jar und diese hängen von verschiedenen Versionen des gleichen Glases ab.
Sagen wir, dass ich zur Laufzeit braucheDIESES.x.x.x.jar
MY.jar
-> A.jar -> THIS.1.0.0.jar
-> B.jar -> C.jar -> THIS.5.0.0.jar
Ich kann das spezifische Jar (A.jar / B.jar) gegen seine Abhängigkeit kompilieren, aber zur Laufzeit muss nur 1 Version geladen werden. Welcher?
Das Laden von nur 1 Abhängigkeit (der neuesten Version) bedeutet, dass mein Code wahrscheinlich Laufzeitausnahmen auslöst, wenn die Bibliotheken nicht abwärtskompatibel sind (gibt es abwärtskompatible Bibliotheken?).
Wie auch immer, ich weiß, dass so etwas wie OSGi dieses Problem beheben kann.
Ich frage mich, wie man diese Art von Problemen auf alte Weise behebt ...
Danke vielmals