将CXF Web服务客户端应用程序部署到weblogic 9.2时出错

时间:2013-03-20 18:28:27

标签: cxf weblogic9.x

为什么在将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

使用Java HotSpot(TM)服务器VM版本1.5.0_10-b03运行WebLogic Server

使用com / sun / xml / ws / spi / ProviderImpl.class部署了jaxws-rt-2.1.3.jar 部署的cxf-rt-frontend-jaxws-2.1.3.jar与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>

1 个答案:

答案 0 :(得分:0)

我发现WEB-INF应用程序中有两个不兼容的jar,因为它们都实现了类

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并且能够解决问题。