在 karaf 中安装 Apache cxf

Install Apache cxf in karaf

我在使用 karaf 3.0.8 上的 sogi-app 运行 时遇到一些问题。该应用具有以下依赖项:

dependencies { 
  compile 'org.apache.camel:camel-core:2.15.2'
  compile 'org.apache.camel:camel-cxf:2.15.2'
  compile 'org.slf4j:slf4j-api:1.7.12'
  testCompile group: 'junit', name: 'junit', version: '4.11'
 }

当我尝试在 karaf 中部署它时,它显示:

org.osgi.framework.BundleException: Unresolved constraint in bundle
foobar.it.osgi.status.osgi-status [863]: Unable to resolve 863.1:
missing   requirement [863.1] osgi.wiring.package; 
(&(osgi.wiring.package=javax.ws.rs)(version>=2.0.0)(!(version>=3.0.0)))

我试过这个:

feature:repo-add mvn:org.apache.cxf.karaf/apache-cxf/3.0.4/xml/feature

feature:install cxf

然后我得到这个错误:

Error executing command: Can't install feature cxf/0.0.0:   
No feature named 'jetty' with version '[7,10)' available

嗯,关于如何安装正确的软件包有什么提示吗?谢谢

我刚刚用 karaf 3.0.8 测试了 CXF。我能够毫无问题地安装版本 3.0.4、3.0.10 和 3.1.6。

我不确定为什么会出现此错误,因为 karaf 3.0.8 包含 jetty 8。因此在您指定的范围内应该有一个有效的功能。

无论如何我建议不要安装 cxf 3.0.4。它已经过时了,因为 CXF 在这个分支中已经是 3.0.10 版了。通常,您应该始终尝试安装最新的错误修复版本,因为它可能包含安全问题等重要修复。