我一直在尝试制作一个OSGI包。我已经将其分解为一个人为的最小化示例,其中包含一个使用几个注释的类的单个包工作区。在通过Eclipse运行包时,解析javax.ws.rs包时会出现错误。我将javax.ws.rs-api 2.0.1添加到cnf项目中,并将javax.ws.rs-api-2.0.1.jar添加到包的构建路径中。
当我运行这个包时,我会得到以下错误:
好了!无法解决捆绑:[ myprovider -1.0.0.201704280130 org.osgi.framework.BundleException:无法解决myprovider 1:缺失需求[myprovider 1] osgi.wiring.package;未解决的需求:[myprovider 1] osgi.wiring.package;(&(osgi.wiring.package=javax.ws.rs)(version>=2.0.0)(!(version>=3.0.0)))] ]!启动包myprovider失败-1.0.0.201704280130,异常无法解决myprovider 1:缺少需求[myprovider 1] osgi.wiring.package;未解决的需求:[myprovider 1] osgi.wiring.package;(&(osgi.wiring.package=javax.ws.rs)(version>=2.0.0)(!(version>=3.0.0)))]
我的捆绑包的bnd.bnd是:
-buildpath: \
javax.ws.rs-api;version=2.0,\
osgi.cmpn,\
osgi.core
-runrequires: \
osgi.identity; filter:='(osgi.identity=org.apache.felix.gogo.command)',\
osgi.identity; filter:='(osgi.identity=org.apache.felix.gogo.runtime)',\
osgi.identity;filter:='(osgi.identity=org.apache.felix.gogo.shell)'
-runfw: org.apache.felix.framework;version='[5.4.0,5.4.0]'
-runee: JavaSE-1.8
Export-Package: myprovider我最初想做的事情和这个问题几乎是一样的:
OSGi bundle not started : missing requirement
但是,解决这个问题的方法我已经在我的bnd文件中有了。
发布于 2017-04-28 05:52:33
https://stackoverflow.com/questions/43670929
复制相似问题