CXF java.lang.IncompatibleClassChangeError异常 解决方法


  
 CXF发布webservice在tomcat中没问题。

部署在Websphere中,直接访问WebServices没有问题,在访问?wsdl时出问题,问题出在wsdl4j-1.6.2.jar上面,也是ClassLoader的问题。

https://cwiki.apache.org/confluence/display/CXF20DOC/Application+Server+Specific+Configuration+Guide

给出了解决方案!


CXF java.lang.IncompatibleClassChangeError异常 解决方法_第1张图片
 

 
CXF java.lang.IncompatibleClassChangeError异常 解决方法_第2张图片
 

1、将wsdl4j-1.6.2.jar 放到 $WebSphere_HOME/java/jre/lib/endorsed 文件夹下。如果没有endorsed文件夹,新建一个。

2、在WebSphere console中,找到 应用程序 -à 企业应用程序

  

 
CXF java.lang.IncompatibleClassChangeError异常 解决方法_第3张图片
 3、点击当前工程

  
CXF java.lang.IncompatibleClassChangeError异常 解决方法_第4张图片
 

 

 

 

4、点击 类装入和更新检测


CXF java.lang.IncompatibleClassChangeError异常 解决方法_第5张图片
 

填写完红色方框的内容。

点击 应用

点击 保存到主配置

 

If you put your wsdl4j-1.6.1 jar in $WAS_HOME/java/jre/lib/endorsed, all your applications will depend on your version of wsdl4j.

Another solution is to create a new class loader in your server which loads before parent class loader, create a shared library with your version of wsdl4j, and add this shared library to your new class loader.

This version of wsdl4j will only be available for your specific server and not affect applications running in other servers.

 

推荐使用下面的方法  

 

1、将wsdl4j-1.6.2.jar 放到 D:\soft\IBM\WebSphere\AppServer\endorsed 文件夹下。这个目录名称可以随便定义,下面要使用到这个目录。

2、在WebSphere console中,找到 环境 -à 共享库 进入如下页面

    

  
CXF java.lang.IncompatibleClassChangeError异常 解决方法_第6张图片
 

3、点击 新建 进入如下页面

 


CXF java.lang.IncompatibleClassChangeError异常 解决方法_第7张图片
 

说明:

   类路径 是绝对路径

也可以使用

 D:/soft/IBM/WebSphere/AppServer/endorsed/wsdl4j-1.6.2.jar

 

4、引用共享库

   服务器-à应用程序服务器,点击server1 进入如下页面

 


CXF java.lang.IncompatibleClassChangeError异常 解决方法_第8张图片
 

5、点击 Java和进程管理-à类装入器,显示如下页面


CXF java.lang.IncompatibleClassChangeError异常 解决方法_第9张图片
 点击 新建


CXF java.lang.IncompatibleClassChangeError异常 解决方法_第10张图片
 

6、 选择 类已装入并且是先使用应用程序类装入器 ,点击 应用  保存到主配置,进入如下界面


CXF java.lang.IncompatibleClassChangeError异常 解决方法_第11张图片
  点击 共享库引用


CXF java.lang.IncompatibleClassChangeError异常 解决方法_第12张图片
 点击 添加


CXF java.lang.IncompatibleClassChangeError异常 解决方法_第13张图片
 

 

 

库名 选择新建的共享库名,点击 应用 保存到主配置

 

7、重启WebSphere服务

 

 

你可能感兴趣的:(java,tomcat,webservice,企业应用,websphere)