Reputation: 91
I'm currently trying to use bndtools for a simple OSGi test project for evaluation of bnd/bndtools. Now I'm struggling to let bndtools automatically resolve the run requirements for my project. I got the following error:
Resolution failed. Capabilities satisfying the following requirements could not be found:
[<<INITIAL>>]
⇒ osgi.identity: (&(osgi.identity=test.bndtools)(version>=1.0.0.202102160605))
⇒ [test.bndtools version=1.0.0.202102160605]
⇒ osgi.wiring.package: (&(osgi.wiring.package=org.slf4j)(version>=1.7.0)(!(version>=2.0.0)))
My bnd buildpath is
-buildpath: \
org.osgi.service.component.annotations;version='1.4.0',\
slf4j.api;version='1.7.30'
But even if I add org.slf4j 1.7.30 to my buildpath, I still got the same error (and yes it is definitly available). Also if I only use
-runrequires: \
bnd.identity;version='1.1.0';id='org.apache.felix.gogo.command',\
bnd.identity;version='1.1.2';id='org.apache.felix.gogo.shell',\
bnd.identity;version='1.1.2';id='org.apache.felix.gogo.runtime'
as run requirements everything is fine until I add
bnd.identity;version='1.7.30';id='slf4j.api'
to the runrequirements. Then the error is
Resolution failed. Capabilities satisfying the following requirements could not be found:
[<<INITIAL>>]
⇒ osgi.identity: (&(osgi.identity=slf4j.api)(version>=1.7.30))
My last try was to add slf4j.simple
as a runrequirement but that doesn't change anything.
If I add slf4j to the runbundles by hand, everything is fine, only the resolving of the list of bundles to run on base of the run requirements is failing. Also other dependencies just work fine. Did I miss something or is this broken due to the structure of slf4j bundles?
Upvotes: 1
Views: 167