我有一个使用 maven-jaxb2-plugin 生成所有类到目标/生成/src/main/java 的包。然后我使用 maven bundle 插件创建一个包。它很简单。
现在,我想从这个包中排除(删除)一个生成的包 com.xxx.yyyy.common。所以我使用:
<Export-Package>
!com.xxx.yyyy.common,com.xxx.*
</Export-Package>
但是在有了捆绑包之后,该包仍然存在于捆绑包中。
我有一个使用 maven-jaxb2-plugin 生成所有类到目标/生成/src/main/java 的包。然后我使用 maven bundle 插件创建一个包。它很简单。
现在,我想从这个包中排除(删除)一个生成的包 com.xxx.yyyy.common。所以我使用:
<Export-Package>
!com.xxx.yyyy.common,com.xxx.*
</Export-Package>
但是在有了捆绑包之后,该包仍然存在于捆绑包中。
我已经成功了。基本上,我们需要使用 和 之间的<Export-Package>
组合<Private-Package>
。告诉 maven bundle 插件不要导出这个包并且这个包不是私有包 --> 这意味着我们不需要把这个包保留在包中
<Export-Package>!com.xxx.yyyy.common</Export-Package>
<Private-Package>!com.xxx.yyyy.common</Private-Package>
您使用的语法只是排除包被导出,而不是被打包。您需要使用标准的 Maven 组装说明从打包的工件中排除某些内容。这不是 maven-bundle-plugin 的目标,maven-bundle-plugin 仅从您打包的工件生成 OSGi-Manifest 条目。