为什么在将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>
答案 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并且能够解决问题。