load slf4j 2.0.x Exceptions in OSGI , the version number and check mode are incorrect.
yuhJohn opened this issue · 0 comments
Failed to load slf4j-api in the OSIG environment.
ERROR log :
Unresolved requirement: Import-Package: org.slf4j
-> Export-Package: org.slf4j; bundle-symbolic-name="slf4j.api"; bundle-version="2.0.12"; version="1.7.36"
slf4j.api [9]
Unresolved requirement: Require-Capability: osgi.extender; filter:="(&(osgi.extender=osgi.serviceloader.processor)(version>=1.0.0)(!(version>=2.0.0)))"
Unresolved requirement: Import-Package: org.slf4j.helpers
-> Export-Package: org.slf4j.helpers; bundle-symbolic-name="slf4j.api"; bundle-version="2.0.12"; version="1.7.36"
in parent pom.xml slf4j-master/slf4j-master/parent/pom.xml
<latest.1.version>1.7.36</latest.1.version>
in slf4j-api pom.xml
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<configuration>
<instructions>
<Import-Package>org.slf4j.spi;version="${range;[===,+);${version_cleanup;${project.version}}}"</Import-Package>
<!-- Export the client/user package of slf4j-api version 1 to make the slf4j-api bundle in version 2 usable for bundles that only import slf4j-1.x -->
<_exportcontents><![CDATA[
*,\
**org.slf4j;version="${latest.1.version}",\
org.slf4j.helpers;version="${latest.1.version}"**
]]></_exportcontents>
<Require-Capability><![CDATA[
**osgi.extender;filter:="(&(osgi.extender=osgi.serviceloader.processor)(version>=1.0.0)(!(version>=2.0.0)))",**
osgi.serviceloader;filter:="(osgi.serviceloader=org.slf4j.spi.SLF4JServiceProvider)";osgi.serviceloader="org.slf4j.spi.SLF4JServiceProvider"
]]></Require-Capability>
</instructions>
</configuration>
</plugin>
Please help to check the verification logic of the version number and filter.
Thanks