Websphere8.5自带jar包与应用jar包冲突的解决办法
2016-04-20 14:26
253 查看
原文: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管理控制台中新建共享库:
注意:这里如果是集群部署,作用域应选为集群。
点击“新建”按钮后,输入共享库名称,这个自己随便定义,但是类路径需要填写之前所建的共享库目录。
上图的选项也需要勾选。点击“应用”后保存。
3) 在应用中引入共享库:
点击“共享库引用”。
选择应用程序和模块后,点击“引用共享库”。
将已经建好的共享库移至已选列表中,点击“确定”后保存。
4) 重启应用服务器。之后应用启动时就会优先加载共享库中的jar包了。
在我们的项目需要使用到axis2的工具包来完成远程webservice接口的调用,在websphere8.5中部署应用后进行测试,应用调用接口总是失败,最后找到根本原因为我们所使用的axis2的包,websphere8.5本身自带,而且默认情况下,容器会优先加载自带的jar包,它自带的版本与我们所使用的版本又不一致,所以调用时会失败。
在查询解决办法时,我们尝试修改websphere中我们应用的类加载方式,选择父类最后加载,但是这种方法仍然无法改变websphere8.5优先加载自带的jar包。
我们也尝试了删除websphere8.5自带jar包,但是删除后,websphere8.5无法正常启动。
最后终于通过设置共享库的方法解决了此问题。具体步骤如下:
1) 应用服务器上新建共享库的目录(如果是集群部署,务必保证多个节点共享库的目录路径一致),将需要优先加载的jar包拷贝至该目录下。
2) 在websphere8.5管理控制台中新建共享库:
注意:这里如果是集群部署,作用域应选为集群。
点击“新建”按钮后,输入共享库名称,这个自己随便定义,但是类路径需要填写之前所建的共享库目录。
上图的选项也需要勾选。点击“应用”后保存。
3) 在应用中引入共享库:
点击“共享库引用”。
选择应用程序和模块后,点击“引用共享库”。
将已经建好的共享库移至已选列表中,点击“确定”后保存。
4) 重启应用服务器。之后应用启动时就会优先加载共享库中的jar包了。
相关文章推荐
- Android 计算屏幕尺寸
- 使用script的src实现跨域和类似ajax效果
- 漫游Kafka实现篇之分布式
- CMake + Ninja OSX issue
- 安卓开发培训(3.3 SQLite的使用方法)
- iOS 键盘弹出时获取键盘的高度
- eclipse下package,source folder,folder
- 有关时间复杂度的问题
- SpringMVC:dispatcherServlet对HandlerMapping的初始化
- Codeforces 631D Messenger KMP
- 喇叭发声原理简析
- 漫游Kafka实现篇之消息和日志
- 开发工具汇总
- Android ActivityManagerService根据oom_adj数值内存回收机制
- http需重定向到https时apache的rewrite模块配置和安装
- 谈谈MVC模式 及 MVP 和 MVVM 的图示
- 漫游Kafka实战篇之客户端编程实例
- Activiti 源代码下载
- JSP错误:Unable to compile class for JSP
- (23)Spring Boot启动加载数据CommandLineRunner【从零开始学Spring Boot】