websphere上部署基于cxf框架的webservice项目报错问题的解决方案

本文介绍了在Websphere 8.5.5.10上部署基于CXF 2.7.16的Webservice项目时遇到的BeanCreationException错误,分析了冲突的JAR包和Websphere内置JAX-WS引擎可能导致的问题。通过禁用Websphere的JAX-WS引擎和处理冲突的JAR包,提供了解决方案,包括删除和替换特定版本的JAR包,以及调整工程类加载顺序。作者分享了成功部署时的JAR包管理策略,为读者提供了参考。
摘要由CSDN通过智能技术生成

报错:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'xxxService': Invocation of init method failed;nested exception is java.lang.NoSuchMethodError:org/apache/ws/commons/schema/XmlSchemaCollection.read(Lorg/w3c/dom/Document;Ljava/lang/String;)Lorg/apache/ws/commons/schema/XmlSchema;这里一般就是冲突的jar包方法!我们解决问题的源头就在这里找!!

环境:

websphere版本8.5.5.10

jdk1.7.1_64 

cxf2.7.16

原因分析:

在网上查了很多相关资料,基本上就是这几个原因:

1.websphere应用服务器中内嵌了其自有的一套JAX-WS引擎,专职提供webservice相关服务。

2.websphere应用服务器JAX-WS引擎引用了一些第三方的包,并且在您的应用也无可避免的引用了这些包,并且部署到websphere容器上时,这些第三方包其实已经加载到websphere的应用服务器中,再次加载会导致冲突。

3.websphere其他引入的jar包与工程中已有jar包冲突。

处理办法:

对于3.很好解决,先不引入cxf的时候报错的jar包,更换或者删掉就好。

对于1.禁用websphere自带的JAX-WS引擎,有3个方法,作用是一样的,不过我心情烦躁把3个地方都配了:

    A.增加通用JVM参数

    -Dcom.ibm.websphere.webservices.DisableIBMJAXWSEngine=true

   B.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值