Websphere8.5自带jar包与应用jar包冲突的解决办法

原文:http://wenku.baidu.com/link?url=4ZE6tusyNQX-3wAFPr6qNgSy8nyhgyrSglnEwTAdGF5qtN20KMSAwN-xX2CMd4U-npnVjS4Ui7IQL9JrwjnBjn8Lwt8PZcNuYF9-tJCkPmy

在我们的项目需要使用到axis2的工具包来完成远程webservice接口的调用,在websphere8.5中部署应用后进行测试,应用调用接口总是失败,最后找到根本原因为我们所使用的axis2的包,websphere8.5本身自带,而且默认情况下,容器会优先加载自带的jar包,它自带的版本与我们所使用的版本又不一致,所以调用时会失败。

在查询解决办法时,我们尝试修改websphere中我们应用的类加载方式,选择父类最后加载,但是这种方法仍然无法改变websphere8.5优先加载自带的jar包。

我们也尝试了删除websphere8.5自带jar包,但是删除后,websphere8.5无法正常启动。  

最后终于通过设置共享库的方法解决了此问题。具体步骤如下: 

1) 应用服务器上新建共享库的目录(如果是集群部署,务必保证多个节点共享库的目录路径一致),将需要优先加载的jar包拷贝至该目录下。  

2) 在websphere8.5管理控制台中新建共享库:

Websphere8.5自带jar包与应用jar包冲突的解决办法_第1张图片

注意:这里如果是集群部署,作用域应选为集群。

Websphere8.5自带jar包与应用jar包冲突的解决办法_第2张图片

点击“新建”按钮后,输入共享库名称,这个自己随便定义,但是类路径需要填写之前所建的共享库目录。

上图的选项也需要勾选。点击“应用”后保存。

3) 在应用中引入共享库:

Websphere8.5自带jar包与应用jar包冲突的解决办法_第3张图片

点击“共享库引用”。

你可能感兴趣的:(WebSphere)