Реализация OBR сервера
Я играю с OSGi. Насколько я понимаю, для того, чтобы установить и запустить пакет, вам нужно уже разрешить его зависимости. Так как ручная установка его прямых (и косвенных) зависимостей может быть болезненной, появилась OBR.
Я использую Felix в качестве реализации платформы OSGi, и я хотел бы автоматически разрешать зависимости моих пакетов через OBR (то есть библиотеку guava). По этой самой причине я использую org.apache.felix.bundlerepository
на клиенте.
Я не уверен, что делать на стороне сервера. Я не мог найти достоверную информацию о том, что делать. Я уверен, что Феликс может быть легко настроен на сервере, чтобы служить "сервером OBR", но я не знаю, как это сделать. Не могли бы вы мне помочь? Код будет высоко ценится. Если вы не можете опубликовать код, можете, по крайней мере, рассказать мне об общих шагах (или связать ресурс), которые мне нужны для успешной настройки репозитория (например, пакетов, необходимых в среде felix или другом программном обеспечении, реализующем такую функцию).
Моя настройка прямо сейчас:
- Феликс;
- Затмение Неон;
- Maven для затмения (1,7);
Спасибо за все ответы!
3 ответа
"Серверная сторона" репозитория OBR просто состоит из индексного файла, который, в свою очередь, содержит URL-ссылки на пакеты. Вы можете предоставить это без какого-либо специального серверного программного обеспечения. Например, достаточно HTTP-сервера Apache или Nginx.
Существует плагин OBR для Sonartype Nexus 2.13, который позволяет предоставить OBR-совместимый репозиторий. Его также можно использовать для прокси-сервера существующего репозитория Maven.
Однако, прежде чем настраивать свой собственный репозиторий, вы также можете взглянуть на bndtools и их подход к разрешению зависимостей. Bndtools также позволяет вам полагаться на существующие репозитории Maven, которые явно не поддерживают OBR. Существует руководство по работе с Maven, в котором объясняется их подход.