2016-02-28 78 views
0

目標 - 遷移EAR應用程序從JBoss的EAP 5至10 WildflyCXF 2.7.0 Web服務部署10

問題:代碼中有CXF 2.7.0 Web服務客戶端代碼(調用第三方Web服務)和它被添加到EAR/lib文件夾中。但是,在部署過程中,我得到異常下面

日誌:

2016-02-26 12:17:48,075 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-6) MSC000001: Failed to start service jboss.deployment.unit."rts-comcast-01.01.75.ear".WeldStartService: org.jboss.msc.service.StartException in service jboss.deployment.unit."rts-comcast-01.01.75.ear".WeldStartService: Failed to start service 
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1904) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
at java.lang.Thread.run(Thread.java:745) Caused by: org.jboss.weld.exceptions.DefinitionException: WELD-000071: Managed bean with a parameterized bean class must be @Dependent: class org.apache.cxf.jaxrs.provider.DataBindingProvider 
at org.jboss.weld.bean.ManagedBean.checkType(ManagedBean.java:208) 
at org.jboss.weld.bean.AbstractBean.initializeAfterBeanDiscovery(AbstractBean.java:107) 
at org.jboss.weld.bean.ManagedBean.initializeAfterBeanDiscovery(ManagedBean.java:122) 
at org.jboss.weld.bootstrap.ConcurrentBeanDeployer$AfterBeanDiscoveryInitializerFactory.doWork(ConcurrentBeanDeployer.java:136) 
at org.jboss.weld.bootstrap.ConcurrentBeanDeployer$AfterBeanDiscoveryInitializerFactory.doWork(ConcurrentBeanDeployer.java:127) 
at org.jboss.weld.executor.IterativeWorkerTaskFactory$1.call(IterativeWorkerTaskFactory.java:63) 
at org.jboss.weld.executor.IterativeWorkerTaskFactory$1.call(IterativeWorkerTaskFactory.java:56) 
at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
at java.lang.Thread.run(Thread.java:745) 
at org.jboss.threads.JBossThread.run(JBossThread.java:320) 

豆的XML

我已經加入以下豆-XML的META-INF和WEB-INF以及

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://xmlns.jcp.org/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/beans_1_1.xsd" 
    bean-discovery-mode="annotated"> 

備用試

我懷疑給定的庫是否已經加載到應用程序中,並且想確認我的依賴關係是否良好。所以做了一個簡單的Web應用程序並加載所有的CXF JAR文件此時WEB-INF/lib文件夾本身及以上

提到部署的這個時候也同樣的問題

CXF版本Wildfly 10

Wildfly 10來與CXF 3.1.4,但我已經在我的lib文件夾中給我所需的罐子,並沒有提到任何容器提供的CXF模塊,以確保在庫中的CXF版本加載。

有些人可以提供一個洞察力,我做錯了嗎?感謝您的幫助

在搜索了一段時間後,我在jboss-deployment-strucutre.xml中添加了下面的配置更改,仍然有問題。請使用此鏈接的詳細信息將容器提供CXF3.1.4適當的排除項後 https://developer.jboss.org/thread/268163

+0

您是否設法解決此問題?我面臨同樣的問題,無法以任何方式工作。你有什麼消息嗎? – Gianluca

回答

0

解決的問題,並提供了CXF 2.7版或2.4.4(約其他較低版本的不知道)

的JBoss部署-structure.xml必須在父級別META-INF的情況下,你的應用程序有多個模塊(JAR,WAR,MDB)

這是我的條目:

<!-- Exclusions allow you to prevent the server from automatically adding some dependencies  --> 
    <exclusions> 
     <!-- Exclude Version cxf of JBOSS --> 
     <module name="org.apache.cxf" /> 
     <!-- Exclude JAVA EE of JBOSS (javax.ws..) => Add dependency javax.annotation --> 
     <module name="javaee.api" /> 

     <!-- Exclude RestEasy conflict (javax.ws.rs.ext.RunDelegate) --> 
     <module name="org.jboss.resteasy.resteasy-jackson-provider" /> 

     <!-- module name="org.apache.log4j" /> 
     <module name="org.apache.commons.logging"/ --> 
     <module name="org.jboss.as.jaxrs"/> 
     <module name="org.jboss.resteasy.resteasy-jaxrs"/> 
     <module name="org.jboss.resteasy.resteasy-cdi"/> 
     <module name="org.jboss.resteasy.jackson-provider"/> 
     <module name="org.jboss.resteasy.resteasy-atom-provider"/> 
     <module name="org.jboss.resteasy.resteasy-hibernatevalidator-provider"/> 
     <module name="org.jboss.resteasy.resteasy-jaxb-provider"/> 
     <module name="org.jboss.resteasy.resteasy-jettison-provider"/> 
     <module name="org.jboss.resteasy.resteasy-jsapi"/> 
     <module name="org.jboss.resteasy.resteasy-multipart-provider"/> 
     <module name="org.jboss.resteasy.resteasy-yaml-provider"/> 
     <module name="org.codehaus.jackson.jackson-core-asl"/> 
     <module name="org.codehaus.jackson.jackson-jaxrs"/> 
     <module name="org.codehaus.jackson.jackson-mapper-asl"/> 
     <module name="org.codehaus.jackson.jackson-xc"/> 
     <module name="org.codehaus.jettison"/> 
     <module name="javax.ws.rs.api"/> 
    </exclusions>