如何使用maven bundle插件将包排除在外

时间:2015-05-25 19:45:06

标签: osgi pom.xml maven-bundle-plugin

我有一个使用maven-jaxb2-plugin生成所有类到target / generated / src / main / java的包。然后我使用maven bundle插件创建一个包。它只是有效。

现在,我想从这个包中排除(删除)生成的包com.xxx.yyyy.common。所以我用:

<Export-Package>
     !com.xxx.yyyy.common,com.xxx.*
</Export-Package>

但是在捆绑后,该包仍然在捆绑包内。

2 个答案:

答案 0 :(得分:4)

我已经成功了。 基本上,我们需要使用<Export-Package><Private-Package>之间的组合。告诉maven bundle plugin不要导出这个包,这个包不是私有包 - &gt;这意味着我们不需要将此包保留在包中

<Export-Package>!com.xxx.yyyy.common</Export-Package>
<Private-Package>!com.xxx.yyyy.common</Private-Package>

答案 1 :(得分:2)

您使用的语法只是排除导出包,而不是打包。您需要使用标准的maven程序集指令来从打包的工件中排除某些内容。这不是maven-bundle-plugin的目标,maven-bundle-plugin只从打包的工件生成OSGi-Manifest条目。