OSGi и устаревшие библиотеки
Я некоторое время изучал OSGi, и мне интересно, как лучше работать с "устаревшими" библиотеками (которые выпускаются как простые JAR-файлы, а не как пакеты OSGi).
Как вы думаете, это лучший способ справиться с этим? Модификация их файла манифеста и добавление минимальной информации, специфичной для комплекта, а затем перепаковка их - это то, чем я занимаюсь в данный момент, но мне это кажется каким-то неправильным. Должен ли я просто использовать ручное управление зависимостями для этих файлов JAR (я делаю это для тех библиотек, которые с высокой вероятностью будут использоваться только в определенной части моего приложения)?
Насколько они доступны, я использую комплекты для Eclipse (поскольку я использую Equinox в качестве платформы OSGi, это хорошо работает для тех библиотек, которые доступны в виде комплектов).
Есть ли еще какие-нибудь репозитории, кроме Eclipse-bundles, о которых мне следует знать?
2 ответа
Spring активно использует OSGi, используя Equinox в качестве базовой платформы.
http://www.springsource.org/dmserver
Блог Роба Харропа стоит того, чтобы следить, если вы в разработке OSGi.
И чтобы ответить на ваш вопрос, вот репозиторий Spring OSGi bundle:
Также есть Eclipse Orbit, в которой есть несколько предварительно упакованных пакетов для использования в Eclipse. И вместо непосредственного внесения изменений в манифест пакета, вы можете создать пакет-обертку, который самостоятельно обеспечивает Manifest, и включить Jar как есть с заголовком Bundle-ClassPath: foo.jar. Это немного менее эффективно сделать таким образом, так как во время выполнения файл foo.jar извлекается (по крайней мере, в Equinox), но вам может быть проще управлять процессом сборки с этим.
Репозиторий Spring также является хорошим источником библиотек с открытым исходным кодом, которые были OSGi'ified.