无论是was7还是was8,在安装带有Axis2的应用时,都很容易出现jar冲突的情况,最常见的有以下:
E com.ibm.ws.webcontainer.webapp.WebApp logServletError SRVE0293E: [Servlet 错误]-[AxisServlet]: org.apache.axis2.deployment.DeploymentException: org.apache.commons.fileupload.FileUploadException
或者
E com.ibm.ws.webcontainer.webapp.WebApp logServletError SRVE0293E: [Servlet Error]-[AxisServlet]: java.lang.ClassCastException: com.ibm.xml.xlxp2.api.wssec.WSSXMLInputFactory incompatible with javax.xml.stream.XMLInputFactory
was7比was8好解决一点,之前布署was7时大概查了两周资料才解决,后来迁到was8时,照was7的方法操作还是不行的,再查了一周资料才搞定,基本上,你看到这篇文章时,你在网上查的大部分文章、官网、资料我都有看过。
was版本 7 Axis2版本1.6.2
下面先从was7的解决方式开始说起
1:把modules下的六个文件
addressing-1.6.2.mar
mex-1.6.2.mar
mtompolicy-1.6.2.mar
ping-1.6.2.mar
scripting-1.6.2.mar
soapmonitor-1.6.2.mar
重命名后缀,把.mar改为.jar后放入应用lib目录下
addressing-1.6.2.jar
mex-1.6.2.jar
mtompolicy-1.6.2.jar
ping-1.6.2.jar
scripting-1.6.2.jar
soapmonitor-1.6.2.jar
2:检查应用中是否有关于javaee的包,如
javaee*.jar
servlet-api-*.jar
有的话,删掉,打包时不要包含这些jar包,was容器中自带这些jar包了。
3:检查应用中是否有关于xmlbeans-*.jar的包,因为Axis2带有axis2-xmlbeans-1.6.2.jar了,所以有别的这样的包,也不用了。
4:最重要的一步