Este es un problema común. Estoy utilizando 2 bibliotecas A.jar y B.jar y estas dependen de diferentes versiones del mismo contenedor.
Digamos que en tiempo de ejecución que necesito THIS.xxxjarJava Classloader: cómo hacer referencia a diferentes versiones de un jar
MY.jar
-> A.jar -> THIS.1.0.0.jar
-> B.jar -> C.jar -> THIS.5.0.0.jar
puedo compilar el frasco específica (A.jar/B.jar) en contra de su dependencia, pero en tiempo de ejecución que he cargar sólo 1 versión. ¿Cúal?
Cargando solo 1 dependencia (la última versión) significa que mi código probablemente arrojará excepciones de tiempo de ejecución si las bibliotecas no son compatibles con versiones anteriores (¿hay bibliotecas compatibles con versiones anteriores?).
De todos modos, sé que algo como OSGi puede solucionar este problema.
Me pregunto cuál es la vieja manera de solucionar este tipo de problemas ...
Muchas gracias
¿Es posible lograr esto? ¿Cómo OSGi ayuda? Estamos nuevamente introduciendo una depenencia en OSGi que es una sobrecarga en el desarrollo de software de producto típico (especialmente para incrustado) – sskumar86