OSGi и устаревшие библиотеки

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

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

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

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

2 ответа

Решение

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

http://www.springsource.org/dmserver

Блог Роба Харропа стоит того, чтобы следить, если вы в разработке OSGi.

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

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

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

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

Другие вопросы по тегам