Управление зависимостями Java

Наша компания производит ряд библиотек Java/Scala для использования нашим исследовательским отделом. Исследователь обычно взаимодействует с этими библиотеками из среды Matlab, поддерживая путь к классам для учета различных зависимостей библиотек.

Библиотеки обычно создаются разными командами разработчиков, поэтому управление зависимостями несколько хрупкое. Кроме того, мы не в состоянии настроить систему непрерывной интеграции в масштабах всей фирмы из-за нехватки времени и того факта, что некоторый код является проприетарным.

Мой вопрос: существует ли инструмент/механизм для упаковки библиотеки Java (или приложения) таким образом, чтобы его библиотечные зависимости были изолированы от других библиотек? (например, с помощью специального загрузчика классов). Я думаю о чем-то в том же духе, что и файл .war, в котором единица развертывания является автономной, и, следовательно, все зависимости/динамическая загрузка классов скрыты.


person Adamski    schedule 27.03.2012    source источник


Ответы (1)


Это звучит как отличный вариант использования OSGI. Каждый модуль OSGI может иметь свои собственные зависимости, которые могут быть разными версиями одной и той же библиотеки. Использование OSGI также дает возможность выбирать, какие модули использовать, в зависимости от пользователя (исследователя).

Эту технологию можно использовать как в настольных, так и в серверных приложениях, поэтому она довольно надежна.

Некоторые справочные материалы:

person Perception    schedule 27.03.2012