Rest ApacheKaraf CXF jax rs服务使用声明性服务和Karaf汇编

Rest ApacheKaraf CXF jax rs服务使用声明性服务和Karaf汇编,rest,jaxb,cxf,karaf,Rest,Jaxb,Cxf,Karaf,这是一个复杂的配置问题 我这里有一个示例项目(开发分支)-> 我打包了这些特性,并使用karaf assembly工件试图创建一个定制的karaf发行版,而我的项目已经部署好了 到目前为止,我可以在本地karaf上部署feature/kar,但当我创建自定义karaf程序集时,cxf REST服务不起作用 包装过程是自动化的: 构建->功能/kar->组装->集成测试(pax考试)->码头工人->验收 2016-09-12 02:14:52,245 | WARN | qtp18647439-

这是一个复杂的配置问题 我这里有一个示例项目(开发分支)->

我打包了这些特性,并使用karaf assembly工件试图创建一个定制的karaf发行版,而我的项目已经部署好了

到目前为止,我可以在本地karaf上部署feature/kar,但当我创建自定义karaf程序集时,cxf REST服务不起作用

包装过程是自动化的: 构建->功能/kar->组装->集成测试(pax考试)->码头工人->验收

2016-09-12 02:14:52,245 | WARN  | qtp18647439-126  | AbstractJAXBProvider             | 40 - org.apache.cxf.cxf-rt-frontend-jaxrs - 3.1.6 | javax.xml.bind.JAXBException

 - with linked exception:

[java.lang.ClassNotFoundException: com.sun.xml.bind.v2.ContextFactory not found by cxf-dosgi-ri-dsw-cxf [13]]
```

以下是我的功能依赖项:

<feature>scr</feature>
<feature>aries-rsa-core</feature>
<feature>cxf-jaxrs</feature>
<feature>cxf-dosgi-provider-cxf</feature>
我的模型仍然是JAXB实现,它应该是CXF的默认提供者。我需要添加提供者吗

我试过:

  • 卡拉夫4.0.5和4.0.6

  • CXF 3.1.6和3.1.7

  • 白羊座1.8.0和1.9.0

  • DOSGi 1.8.0

在使发行版正常工作的组装阶段,我缺少了什么


谢谢。

您的功能有一个输入错误:cxf dosgi provider-cxf必须是cxf dosgi provider-rs

还可以比较自定义karaf程序集中karaf_home/lib/annowed中的库和karaf的默认发行版。 如果不相同,请将所有已认可的库添加到配置中

例如:

    <libraries>
         <library>mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.jaxp-api-1.4/2.8.0;type:=endorsed</library>
         <!-- ... other libraries -->
    </libraries>

mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.jaxp-api-1.4/2.8.0;类型:=背书

您在功能中有一个输入错误:cxf dosgi provider-cxf必须是cxf dosgi provider-rs

还可以比较自定义karaf程序集中karaf_home/lib/annowed中的库和karaf的默认发行版。 如果不相同,请将所有已认可的库添加到配置中

例如:

    <libraries>
         <library>mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.jaxp-api-1.4/2.8.0;type:=endorsed</library>
         <!-- ... other libraries -->
    </libraries>

mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.jaxp-api-1.4/2.8.0;类型:=背书
    <libraries>
         <library>mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.jaxp-api-1.4/2.8.0;type:=endorsed</library>
         <!-- ... other libraries -->
    </libraries>