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

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

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

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


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


Ответы (1)


arrow_upward
5
arrow_downward

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

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

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

person Perception    schedule 27.03.2012