OSGi и устаревшие библиотеки - PullRequest
5 голосов
/ 25 июня 2009

Я некоторое время изучал OSGi, и мне интересно, как лучше всего работать с «устаревшими» библиотеками (которые выпускаются в виде простых JAR-файлов, а не в виде OSGi-пакетов).

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

Насколько они доступны, я использую комплекты для Eclipse (поскольку я использую Equinox в качестве платформы OSGi, это хорошо работает для тех библиотек, которые доступны в виде комплектов).

Существуют ли какие-либо комплекты-репозитории, кроме Eclipse-комплектов, о которых мне следует знать?

Ответы [ 2 ]

5 голосов
/ 25 июня 2009

Spring активно развивает OSGi, используя Equinox в качестве базовой платформы.

http://www.springsource.org/dmserver

Блог Роба Харропа заслуживает внимания, если вы знакомы с разработками OSGi.

И чтобы ответить на ваш вопрос, вот репозиторий Spring OSGi bundle:

http://www.springsource.com/repository/app/

2 голосов
/ 28 июля 2009

Существует также Eclipse Orbit , в котором есть несколько предварительно упакованных пакетов для использования в Eclipse. И вместо непосредственного внесения изменений в манифест пакета, вы можете создать пакет-обертку, который самостоятельно обеспечивает Manifest, и включить Jar как есть с заголовком Bundle-ClassPath: foo.jar. Это немного менее эффективно сделать таким образом, поскольку во время выполнения файл foo.jar извлекается (по крайней мере, в Equinox), но вам может быть проще управлять этим процессом сборки.

Репозиторий Spring также является хорошим источником библиотек с открытым исходным кодом, которые были OSGi'ified.

...