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

Antworten auf die Frage(5)

Ihre Antwort auf die Frage