2017-04-27 138 views
2
  • 服務器 - WildFly - 10.1.0
  • JSF版本 - 2.2
  • Primefaces - 5.0

我試圖部署.war文件中WildFly 10.1.0服務器。早些時候,我在JBoss 7.1上運行它,並且它工作正常。但是現在,當我嘗試在WildFly服務器中部署應用程序時,我正在獲取一組導致部署失敗的異常。Wildfly - 10.x - WELD-001414:Bean名稱不明確。名稱csfFLOWDISCOVERYCDIHELPER解析爲豆

09:05:02,630 SEVERE [javax.enterprise.resource.webcontainer.jsf.application.view] (MSC service thread 1-3) Unable to obtain CDI 1.1 utilities for Mojarra 
09:05:02,650 SEVERE [javax.enterprise.resource.webcontainer.jsf.flow] (MSC service thread 1-3) Unable to obtain CDI 1.1 utilities for Mojarra 
09:05:02,897 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-3) MSC000001: Failed to start service jboss.deployment.unit."MyApplication.war".WeldStartService: org.jboss.msc.service.StartException in service jboss.deployment.unit."MyApplication.war".WeldStartService: Failed to start service 
     at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1904) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
     at java.lang.Thread.run(Unknown Source) 
Caused by: org.jboss.weld.exceptions.DeploymentException: WELD-001414: Bean name is ambiguous. Name csfFLOWDISCOVERYCDIHELPER resolves to beans: 
    - Managed Bean [class com.sun.faces.flow.FlowDiscoveryCDIHelper] with qualifiers [@Default @Named @Any], 
    - Managed Bean [class com.sun.faces.flow.FlowDiscoveryCDIHelper] with qualifiers [@Default @Named @Any] 
     at org.jboss.weld.bootstrap.ConcurrentValidator$5.doWork(ConcurrentValidator.java:134) 
     at org.jboss.weld.bootstrap.ConcurrentValidator$5.doWork(ConcurrentValidator.java:130) 
     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(Unknown Source) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
     at java.lang.Thread.run(Unknown Source) 
     at org.jboss.threads.JBossThread.run(JBossThread.java:320) 

09:05:02,971 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("deploy") failed - address: ([("deployment" => "MyApplication.war")]) - failure description: { 
    "WFLYCTL0080: Failed services" => {"jboss.deployment.unit.\"MyApplication.war\".WeldStartService" => "org.jboss.msc.service.StartException in service jboss.deployment.unit.\"MyApplication.war\".WeldStartService: Failed to start service 
    Caused by: org.jboss.weld.exceptions.DeploymentException: WELD-001414: Bean name is ambiguous. Name csfFLOWDISCOVERYCDIHELPER resolves to beans: 
    - Managed Bean [class com.sun.faces.flow.FlowDiscoveryCDIHelper] with qualifiers [@Default @Named @Any], 
    - Managed Bean [class com.sun.faces.flow.FlowDiscoveryCDIHelper] with qualifiers [@Default @Named @Any]"}, 
    "WFLYCTL0412: Required services that are not installed:" => ["jboss.deployment.unit.\"MyApplication.war\".WeldStartService"], 
    "WFLYCTL0180: Services with missing/unavailable dependencies" => undefined 
} 
09:05:03,041 INFO [org.jboss.as.server] (ServerService Thread Pool -- 34) WFLYSRV0010: Deployed "MyApplication.war" (runtime-name : "MyApplication.war") 
09:05:03,068 INFO [org.jboss.as.controller] (Controller Boot Thread) WFLYCTL0183: Service status report 
WFLYCTL0186: Services which failed to start:  service jboss.deployment.unit."MyApplication.war".WeldStartService: org.jboss.msc.service.StartException in service jboss.deployment.unit."MyApplication.war".WeldStartService: Failed to start service 

我沒有真正得到這個例外指向的地方。錯誤也不清楚。我發現其他SO Post關於這個錯誤,但那些與GlassFish服務器。有沒有人遇到類似的問題,並得到解決。如果有人指出我的方向正確,或者有相同的解決方案,我會非常感激。

+0

看起來像在類路徑中有兩個CDI jar,因此給bean造成了衝突。請檢查。 – OTM

+0

@OTM ..我在哪裏需要尋找這個? –

+1

Pleese在https://docs.jboss.org/author/display/WFLY8/Class+Loading+in+WildFly – OTM

回答

2

在應用程序中有與應用程序服務器實現版本不同的jsf-api和jsf-impl jar版本會導致此問題。從WEB-INF/lib文件夾中刪除應用程序提供的jar並使用服務器提供的jar來解決問題。