在karaf中安装Apache cxf

时间:2016-09-12 07:05:33

标签: osgi cxf 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
嗯,关于如何安装合适的包装的任何提示?感谢。

1 个答案:

答案 0 :(得分:2)

我刚用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版本。通常,您应该始终尝试安装最新的修正版本,因为它可能包含安全问题等重要修复程序。