【发布时间】:2011-05-21 10:20:10
【问题描述】:
我有一个项目使用 maven-bundle-plugin 生成一个 OSGI 包。配置如下:
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>2.1.0</version>
<extensions>true</extensions>
<inherited>true</inherited>
<configuration>
<instructions>
<Export-Package>${bubble.osgi.exports}</Export-Package>
<Import-Package>${bubble.osgi.imports}</Import-Package>
<Embed-Dependency>${bubble.osgi.embed.dependencies}</Embed-Dependency>
<_versionpolicy>[$(version;==;$(@)),$(version;+;$(@)))</_versionpolicy>
</instructions>
<versions>
<bubble.osgi.version.clean>${project.version}</bubble.osgi.version.clean>
</versions>
</configuration>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>cleanVersions</goal>
</goals>
</execution>
</executions>
</plugin>
项目的结果是一个包含所有 osgi 内容、嵌入式依赖项等的单个 jar 文件。我宁愿有 2 个 jar 作为结果,一个包含 osgi 内容,一个不包含,因为嵌入式依赖项在将其用作普通 jar 时会导致问题。
除了使用 maven 程序集插件之外,还有其他方法吗?
【问题讨论】: