不能使用Httpclient-osgi-4.5.2。缺少要求

时间:2017-01-02 12:11:15

标签: java maven osgi osgi-bundle

我正在使用Apache Felix开发一个OSGi应用程序作为运行时。我使用Maven下载httpclient-osgi。我已经在框架中安装了bundle。但它会导致以下异常。

似乎我缺少一个导出org.apache.httpcomponents.httpclient的包。但我真的不知道哪个捆绑包会导出该包。

org.osgi.framework.BundleException: Unable to resolve org.apache.httpcomponents.httpclient [3](R 3.0): missing requirement [org.apache.httpcomponents.httpclient [3](R 3.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.service.cm)(version>=1.3.0)(!(version>=2.0.0))) Unresolved requirements: [[org.apache.httpcomponents.httpclient [3](R 3.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.service.cm)(version>=1.3.0)(!(version>=2.0.0)))]
at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:4111)
at org.apache.felix.framework.Felix.startBundle(Felix.java:2117)
at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:998)
at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:984)
at compilerMain.Main.main(Main.java:39)

感谢您的回复

1 个答案:

答案 0 :(得分:4)

您缺少一个导出该包org.osgi.service.cm的包。这意味着httpclient需要ConfigurationAdmin规范,可能还需要一个正在运行的实例。解决此问题的最简单方法是安装felix ConfigurationAdmin。