使用嵌入式依赖项时,JAR 未嵌入到 OSGi 包中
JAR is not getting embedded in the OSGi bundle when using embedded dependencies
我需要为自定义用例嵌入非 osgi 第三方依赖项 (nimbus-jose-jwt)。
我在 pom 文件的 dependencies 部分添加了以下依赖项。
<dependency>
<groupId>com.nimbusds</groupId>
<artifactId>nimbus-jose-jwt</artifactId>
<version>5.8</version>
</dependency>
我尝试使用 Embed-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 如下所示。
<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 没有嵌入到
捆。我还应该做些什么才能将它嵌入到我的捆绑包中?感谢对此的任何帮助。
谢谢!
尝试
<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,而不是包名称。查看 bundle plugin documentation 以获取有关如何 select 嵌入工件的更多信息。
我需要为自定义用例嵌入非 osgi 第三方依赖项 (nimbus-jose-jwt)。
我在 pom 文件的 dependencies 部分添加了以下依赖项。
<dependency>
<groupId>com.nimbusds</groupId>
<artifactId>nimbus-jose-jwt</artifactId>
<version>5.8</version>
</dependency>
我尝试使用 Embed-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 如下所示。
<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 没有嵌入到 捆。我还应该做些什么才能将它嵌入到我的捆绑包中?感谢对此的任何帮助。
谢谢!
尝试
<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,而不是包名称。查看 bundle plugin documentation 以获取有关如何 select 嵌入工件的更多信息。