我需要为自定义用例嵌入一个非osgi第三方依赖项(nimbus-jose-jwt)。
我在pom文件中的依赖项部分下添加了以下依赖项。
<dependency>
<groupId>com.nimbusds</groupId>
<artifactId>nimbus-jose-jwt</artifactId>
<version>5.8</version>
</dependency>我尝试过使用嵌入依赖指令将第三方jar嵌入到包中。
<Embed-Dependency>
com.nimbusds.jose.*;scope=compile|runtime;inline=true,
com.nimbusds.jwt.*;scope=compile|runtime;inline=true,
</Embed-Dependency>我在pom文件中的maven-bundle插件如下所示。
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<extensions>true</extensions>
<configuration>
<instructions>
<Bundle-SymbolicName>
${project.artifactId}
</Bundle-SymbolicName>
<Private-Package>
</Private-Package>
<Import-Package>
</Import-Package>
<Export-Package>
</Export-Package>
<Embed-Dependency>
com.nimbusds.jose.*;scope=compile|runtime;inline=true,
com.nimbusds.jwt.*;scope=compile|runtime;inline=true,
</Embed-Dependency>
<Embed-Transitive>true</Embed-Transitive>
</instructions>
</configuration>
</plugin>得到的清单是正确的,但是jar没有嵌入到包中。我还应该做些什么才能把它嵌入我的包里呢?感谢你在这方面的任何帮助。
谢谢!
发布于 2018-04-25 07:36:49
试一试
<Embed-Dependency>*;scope=compile|runtime;inline=true;artifactId=nimbus-jose-jwt</Embed-Dependency>或
<Embed-Dependency>nimbus-jose-jwt;scope=compile|runtime;inline=true</Embed-Dependency>匹配的表达式(至少第一个表达式)匹配工件ID,而不是包名。有关如何选择用于嵌入的工件的更多信息,请查看包插件文档。
https://stackoverflow.com/questions/50016277
复制相似问题