У меня есть пакет OSGI
, который зависит от сторонней библиотеки, я не хочу развертывать эту библиотеку в контейнере, я бы предпочел встроить ее в свой пакет.
Конечно, у этой библиотеки есть свои зависимости, я тоже хочу их встроить.
Я использую Maven Bundle Plugin
:
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<configuration>
<instructions>
<Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
<Bundle-Description>${project.description}</Bundle-Description>
<Bundle-Vendor>${bundle.vendor}</Bundle-Vendor>
<Meta-Persistence>...</Meta-Persistence>
<Export-Package>...</Export-Package>
<Import-Package>...</Import-Package>
<Embed-Dependency>3rd-Party</Embed-Dependency>
<Embed-Transitive>true</Embed-Transitive>
</instructions>
</configuration>
</plugin>
В результате 3rd-Party
внедряется в результирующий пакет, но НЕ его транзитивные зависимости, как будто <Embed-Transitive>true</Embed-Transitive>
не имеет никакого эффекта.
Так что у меня есть вопросы
- Это правильный способ встраивать стороннюю библиотеку транзитивным способом?
- Позаботится ли это о сгенерированном файле манифеста (без импорта пакетов, принадлежащих сторонней библиотеке и ее зависимостям)?
Спасибо