无法在Karaf 4.0

时间:2015-05-07 23:44:28

标签: karaf

我正在尝试使用Karaf来托管REST服务。我正在使用4.0.0版本的M2(因为我在我的原型中很早)。根据我拼凑的内容,为了托管REST服务,我可以使用Karaf功能来安装http和cxf功能。

到目前为止我做了什么......

  • 开始卡拉夫 - 开始很好
  • 设置它以找到我当地的maven repo - 罚款
  • 使用feature:repo-add mvn:org.apache.cxf.karaf/apache-cxf/3.0.4/xml/features - 没有错误,我可以在我的mvn repo中看到xml
  • feature:install http - 这有效,我可以看到正在运行Jetty代码的证据
  • feature:install cxf - 此操作失败

我在控制台中收到此消息

  

karaf @根()>功能:install cxf执行命令时出错:无法执行   解析root:缺少需求[root] osgi.identity;   osgi.identity = CXF-HTTP-码头;键入= karaf.feature;版本= 3.0.4   [由:无法解析cxf-http-jetty / 3.0.4:丢失   要求[cxf-http-jetty / 3.0.4] osgi.identity;   osgi.identity = org.apache.cxf.cxf-RT-传输-HTTP-码头;   键入= osgi.bundle;版本= “[3.0.4,3.0.4]”;分辨率:=强制   [由:无法解决   org.apache.cxf.cxf-rt-transports-http-jetty / 3.0.4:缺少要求   [org.apache.cxf.cxf-RT-传输-HTTP-码头/ 3.0.4]   osgi.wiring.package;   滤波器:= “(!及(osgi.wiring.package = org.eclipse.jetty.continuation)(版本> = 7.6.0)((版本> = 8.2.0)))”]]

如果我查看那里的软件包,我可以在安装http时看到我系统中的org.eclipse.jetty.continuation软件包

  

2015-05-08 09:29:02,928 |信息| pool-40-thread-1 |   FeaturesServiceImpl | 6 - org.apache.karaf.features.core    - 4.0.0.M2 | org.eclipse.jetty.continuation / 9.2.7.v20150116

所以,它的版本是9.2.7。如果我在安装cxf时理解错误,那么它需要一个版本>> = 7.6.0而不是> = 8.2.0。

是否有可以与CXF一起使用的HTTP服务版本?我对卡拉夫很新,所以我不确定如何指定旧版本。谢谢你的帮助。

2 个答案:

答案 0 :(得分:0)

是的,这是一个已知问题。但不确定,如果卡拉夫和CXF人知道的话。我也遇到了Karaf 4.0.0的问题,我甚至无法安装http cxf。然后我回到了Karaf 3.0.3,事情对我有用。我也有这个顾虑! Apache Karaf项目/团队是否真的考虑自己的Apache CXF?嗯,我怀疑!

答案 1 :(得分:0)

Karaf 4.x配备Jetty 9(不是8)。因此,您必须更新您的CXF 版本(例如3.11)或降级到Karaf 3(提供 码头8)。