如何实现插件不会内联新构建jar文件中的依赖项?
<build>
<plugins>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<extensions>true</extensions>
<configuration>
<instructions>
<Bundle-Category>tools</Bundle-Category>
<Fragment-Host>org.jsmpp.jsmpp</Fragment-Host>
<Private-Package>!</Private-Package>
<Export-Package>
org.jsmpp.*;version="2.2.3"
</Export-Package>
<Import-Package>!org.slf4j</Import-Package>
<Bundle-Version>2.2.3</Bundle-Version>
</instructions>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.jsmpp</groupId>
<artifactId>jsmpp</artifactId>
</dependency>
</dependencies>
答案 0 :(得分:1)
除非包含Embed-Dependency
指令,否则插件不会内联任何依赖项。该指令可以从父POM继承。
答案 1 :(得分:0)
与&lt; Export-Package&gt;匹配的所有包指令包含在包中,即使这些包来自依赖项。因此,您可以显式指定捆绑包中的所有包,也可以使用通配符并使用“!”排除不需要的包。前缀,例如
<Export-Package>
org.jsmpp.*;version="2.2.3",
!org.jsmpp.donotwant
</Export-Package>
答案 2 :(得分:0)
使用_exportcontents
代替Export-Package
。
_exportcontents
仅影响清单,而Export-Package会修改清单和捆绑包的内容。