使用嵌入式依赖关系时,JAR不会嵌入OSGI捆绑包中



i我需要嵌入自定义用例的非OSGI第三方依赖性(nimbus-jose-jwt(。

我在pom文件中的"依赖关系"部分下添加了以下依赖关系。

<dependency>
    <groupId>com.nimbusds</groupId>
    <artifactId>nimbus-jose-jwt</artifactId>
    <version>5.8</version>
</dependency>

我尝试使用嵌入依赖性指令将第三方罐嵌入束中。

<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>

由此产生的清单是正确的,但罐子未嵌入捆。我还应该怎么做才能将其嵌入我的捆绑包中?感谢对此的任何帮助。

谢谢!

尝试

<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,而不是包装名称。请查看捆绑插件文档,以获取有关如何选择嵌入工件的更多信息。

最新更新