Questo è un problema comune. Sto usando 2 librerie A.jar e B.jar e queste dipendono da diverse versioni dello stesso barattolo.
Diciamo che a tempo di esecuzione ho bisogno THIS.xxxjarJava Classloader - come fare riferimento a diverse versioni di un jar
MY.jar
-> A.jar -> THIS.1.0.0.jar
-> B.jar -> C.jar -> THIS.5.0.0.jar
posso compilare il vaso specifico (A.jar/B.jar) contro la sua dipendenza, ma in fase di esecuzione che ho a caricare solo 1 versione. Quale?
Caricamento solo 1 dipendenza (l'ultima versione) significa che il mio codice genererà probabilmente eccezioni in runtime se le librerie non sono compatibili con le versioni precedenti (ci sono librerie compatibili con versioni precedenti là fuori?).
In ogni caso, so che qualcosa come OSGi può risolvere questo problema.
Mi chiedo qual è il vecchio modo per risolvere questo tipo di problemi ...
Grazie mille
È possibile ottenere questo? Come OSGi aiuta? Stiamo di nuovo introducendo una depenenza su OSGi che è un sovraccarico nello sviluppo tipico del software di prodotto (specialmente per embedded) – sskumar86