В качестве временной меры, чтобы иметь возможность быстро перейти на OSGi, мне нужно создать одну банку со всеми моими библиотеками. Что я сделал, так это поместил все библиотеки jar в src/main/resources, чтобы они оказались в корне созданного jar. Проблема, с которой я сталкиваюсь, заключается в том, чтобы сообщить плагину maven-bundle-plugin экспортировать ВСЕ пакеты в банках. Итак, в основном, я хочу предоставить все свои библиотеки другим пакетам OSGi.
Это первое, что я попробовал в своем POM.
<build>
<plugins>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<extensions>true</extensions>
<configuration>
<instructions>
<Export-Package>*</Export-Package>
<Bundle-Name>${project.artifactId}</Bundle-Name>
<Bundle-Version>${project.version}</Bundle-Version>
</instructions>
</configuration>
</plugin>
</plugins>
</build>`
Я пытался экспортировать все, что было. Но похоже, что единственное, что экспортируется таким образом, — это две зависимости osgi, а не файлы jar в ресурсах.
У меня более сотни библиотек, поэтому я пытаюсь найти автоматизированный способ заполнения директивы <Export-Package>
вместо того, чтобы вручную добавлять каждый пакет библиотеки. Каким-то образом eclipse делает это в среде разработки плагинов, но мне нужно сделать это с помощью maven. Возможно ли это вообще с плагином пакета? Дополнительные очки, если банки будут добавлены в <Bundle-ClassPath>