2012-03-27 3 views
2

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

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

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

ответ

5

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

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

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

Смежные вопросы