2013-03-20 134 views
0

爲什麼我看到這個部署時CXF Web服務客戶端應用程序到WebLogic 9.2錯誤部署CXF Web服務客戶端應用程序到WebLogic 9.2

Caused by NoClassDefFoundError: null 
->> 350 | newInstance0 in java.lang.Class 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
| 303 | newInstance in  '' 
|  36 | newInstance . in javax.xml.ws.spi.FactoryFinder 
|  95 | find   in  '' 
|  82 | provider . . . in javax.xml.ws.spi.Provider 
|  56 | <init>   in javax.xml.ws.Service 

與WebLogic Server與Java的HotSpot(TM)服務器VM 1.5版運行。 0_10-b03

部署包含jaxws-rt-2.1.3.jar,其中包含com/sun/xml/ws/spi/ProviderImpl.class 部署包含cxf-rt-frontend-jaxws-2.1.3.jar with org/apache/cxf/jaxws/spi/ProviderImpl

我發現此問題當這些依賴關係丟失時,但在這種情況下它們不會丟失。

我做部署與WEB-INF/weblogic.xml中的戰爭

<?xml version="1.0" encoding="UTF-8"?> 
    <weblogic-web-app 
     xmlns="http://www.bea.com/ns/weblogic/90" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://www.bea.com/ns/weblogic/90 
     http://www.bea.com/ns/weblogic/90/weblogic-web-app.xsd"> 
    <container-descriptor> 
     <prefer-web-inf-classes>true</prefer-web-inf-classes> 
    </container-descriptor> 
</weblogic-web-app> 

回答

0

我發現了兩個罐子中的應用WEB-INF是不兼容的,因爲它們都實現類

javax.xml.ws.spi.FactoryFinder 
javax.xml.ws.spi.Provider 
javax.xml.ws.Service 

兩個相互矛盾的廣口瓶中

jaxws-api-2.1.jar 
geronimo-jaxws_2.2_spec-1.0.jar 

我刪除了jaxws-api-2.1.jar,並能夠解決問題。