2017-01-05 5 views
0

Я пытаюсь преобразовать мой проект от EAP 6.3 до Wildfly Swarm ...Wildfly Swarm и CxF-RT-транспорты-клиент

У меня возникли некоторые проблемы с CXF.

У меня есть зависимость фракции:

<dependency> 
    <groupId>org.wildfly.swarm</groupId> 
    <artifactId>camel-cxf</artifactId> 
</dependency> 

А потом, я включаю это, потому что в противном случае я получаю ошибку "package org.apache.cxf.message does not exist" в моем Camel код процессора

<dependency> 
     <groupId>org.apache.cxf</groupId> 
     <artifactId>cxf-rt-transports-http</artifactId> 
     <version>3.1.9</version> 
    </dependency> 

Так что, если я включаю он, я получаю ошибку:

Apache CXF library (cxf-core-3.1.9.jar) detected in ws endpoint deployment; either provide a proper deployment replacing embedded libraries with container module dependencies or disable the webservices subsystem for the current deployment adding a proper jboss-deployment-structure.xml descriptor to it. The former approach is recommended, as the latter approach causes most of the webservices Java EE and any JBossWS specific functionality to be disabled.

Хорошо, может быть, есть ставка на конфликт в стиле lib ween модули camel-cxf и мой jar ... или он не собирает файл jboss-deployment-structure.xml?

Я пробовал несколько вещей, как это было предложено другими сообщениями.

Я попытался добавить это в jboss-deployment-structure.xml под $ {basedir}/src/main/webapp/WEB-INF и добавить файл xml в webResources плагина maven-war.

<deployment> 
    <exclude-subsystems> 
     <subsystem name="webservices" /> 
    </exclude-subsystems> 
    </deployment> 

Я также попытался добавить это JBoss-развертывания-structure.xml:

<dependencies> 
    <module name="org.apache.cxf" /> 
    <module name="org.apache.cxf.impl" /> 
</dependencies> 

Но я получаю эту ошибку. Поэтому я не уверен, как разрешить этот конфликт. Есть идеи?

ответ

0

Один подход состоит в том, чтобы использовать библиотеки CXF, предоставленные Jboss, и установить <scope>provided</scope> для cxf-rt-transports-http, чтобы он скомпилировал и не упаковывал зависимости CXF.

Вы найдете больше Jboss specific configuration

+0

Я пробовал много вещей, в настоящее время, и это все еще не находя LIBS. Верблюд-core.jar находится в m2repo uberjar's, и Eclipse показывает его под Maven Dependencies. Но я получаю java.lang.NoClassDefFoundError для org.apache.camel. * – djb

+0

Ah. Я удалил все зависимости, кроме camel-cxf, и не получил ошибку. Странный. – djb

+0

Thats, что я говорил, использовать JBoss предоставил библиотеки CXF, а не упаковывать их в ваше приложение. – ravthiru

Смежные вопросы