Это распространенная проблема. Я использую 2 библиотеки A.jar и B.jar, и они зависят от разных версий одного и того же jar.
Допустим, во время выполнения мне нужно ЭТО.xxxjar
MY.jar
-> A.jar -> THIS.1.0.0.jar
-> B.jar -> C.jar -> THIS.5.0.0.jar
Я могу скомпилировать конкретный jar (A.jar/B.jar) против его зависимости, но во время выполнения мне нужно загрузить только 1 версию. Какой из них?
Загрузка только одной зависимости (последней версии) означает, что мой код, вероятно, вызовет исключения во время выполнения, если библиотеки не являются обратно совместимыми (существуют ли библиотеки с обратной совместимостью?).
Во всяком случае, я знаю, что что-то вроде OSGi может решить эту проблему.
Мне интересно, какой старый способ исправить такие проблемы...
Большое спасибо