JAR не внедряется в комплект OSGi при использовании встроенных зависимостей - PullRequest
0 голосов
/ 25 апреля 2018

У меня есть требование для включения сторонней зависимости (nimbus-jose-jwt) для нестандартного варианта использования.

Я добавил следующую зависимость в разделе зависимостей в файле pom.

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

Я попытался внедрить сторонний jar в комплект, используя директиву Embed-Dependency.

<Embed-Dependency>
    com.nimbusds.jose.*;scope=compile|runtime;inline=true,
    com.nimbusds.jwt.*;scope=compile|runtime;inline=true,
</Embed-Dependency>

Мой maven-bundle-plugin в файле pom выглядит следующим образом.

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

Полученный манифест правильный, но банка не встроена в расслоение. Что еще я должен сделать, чтобы он был встроен в мой комплект? Ценю любую помощь в этом.

Спасибо!

1 Ответ

0 голосов
/ 25 апреля 2018

Попробуйте

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

Соответствующее выражение, по крайней мере первое, соответствует идентификаторам артефактов, а не именам пакетов. Для получения дополнительной информации о том, как выбирать артефакты для встраивания, ознакомьтесь с документацией к комплекту плагинов .

...