如何使用 Maven bundle 插件从包中排除包
how to use maven bundle plugin to exclude package out of bundle
我有一个使用 maven-jaxb2-plugin 生成所有 类 到 target/generated/src/main/java 的包。然后我使用 maven bundle 插件来创建一个包。它很简单。
现在,我想从这个包中排除(删除)一个生成的包 com.xxx.yyyy.common。所以我使用:
<Export-Package>
!com.xxx.yyyy.common,com.xxx.*
</Export-Package>
但是在打包之后,那个包还在里面。
您使用的语法只是排除包被导出,而不是被打包。您需要使用标准的 Maven 汇编指令从打包的工件中排除某些东西。这不是 maven-bundle-plugin 的目标,maven-bundle-plugin 仅从打包的工件生成 OSGi-Manifest 条目。
我成功了。
基本上,我们需要使用 <Export-Package>
和 <Private-Package>
之间的组合。告诉 maven bundle 插件不要导出这个包并且这个包不是私有包 --> 这意味着我们不需要将这个包保留在 bundle
<Export-Package>!com.xxx.yyyy.common</Export-Package>
<Private-Package>!com.xxx.yyyy.common</Private-Package>
我有一个使用 maven-jaxb2-plugin 生成所有 类 到 target/generated/src/main/java 的包。然后我使用 maven bundle 插件来创建一个包。它很简单。
现在,我想从这个包中排除(删除)一个生成的包 com.xxx.yyyy.common。所以我使用:
<Export-Package>
!com.xxx.yyyy.common,com.xxx.*
</Export-Package>
但是在打包之后,那个包还在里面。
您使用的语法只是排除包被导出,而不是被打包。您需要使用标准的 Maven 汇编指令从打包的工件中排除某些东西。这不是 maven-bundle-plugin 的目标,maven-bundle-plugin 仅从打包的工件生成 OSGi-Manifest 条目。
我成功了。
基本上,我们需要使用 <Export-Package>
和 <Private-Package>
之间的组合。告诉 maven bundle 插件不要导出这个包并且这个包不是私有包 --> 这意味着我们不需要将这个包保留在 bundle
<Export-Package>!com.xxx.yyyy.common</Export-Package>
<Private-Package>!com.xxx.yyyy.common</Private-Package>