2016-11-02 3 views
3

При создании проектов Java OSGi в затмении, вы запускаете их .bndrun-> Run OSGi (например)Как программно/автоматического запуска приложений OSGi

Это не кажется, действительно работоспособным, если вы хотите чтобы распространить ваше приложение на клиента, поскольку для них было бы неудобством идти на необходимость вручную запускать пакеты в контейнере OSGi.

Есть ли способ, которым я мог бы иметь «главную» jar \ bundle с классом public static void main(String[] args) {}, который автоматически запускает контейнер OSGi и загружает пакеты, как если бы все было в одном файле jar, когда пользователь запускает этот файл?

ответ

1

Вы можете просто использовать кнопку экспорта в bndtools. Он создает запущенную банку, которую вы можете распространять.

Bndtools также поддерживает automated build using gradle.

Недавно bndtools также имеет поддержку maven, см. this example.

2

См. Сайт OSGi enRoute. Учебник Quick Start и учебник Base объясняют, как экспортировать в исполняемый JAR. Если вы используете Maven, см. Пример Eval.

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