一、jar包冲突问题解决

1、问题描述:

引入新外围项目的jar后,在本地tomcat运行正常,但是在was服务器调用httpclient.jar中方法提示异常(该异常为系统异常,Java代码的try catch 无法捕获,was的sysout.log中才可以查看)。

2、问题原因:

项目中的commons-httpclient.jar与httpclient.jar系类的http包存在冲突(网上有的说法是项目中的jar和was自带的存在冲突,个人不认可该种说法),Tomcat的加载class顺序与was不同,所以未出问题。

3、解决方案:

通过建立共享库,改变was加载顺序,优先加载httpclient.jar系类jar包。共享库建立步骤如下。
(1)将需要共享的jar放到服务器有访问权限的文件夹下。

(2)打开was控制台,“环境”—“共享库”—“新建”,新建一个共享库,名称任意,类路径为上一步jar在服务器的存放路径,按如图操作后保存设置。

(3)先删除原server级别下的配置。(上个版本配置共享库时添加,该块内容可要可不要,建议删除。)

(4)打开“应用程序“—”应用程序类型“—”webSphere企业应用程序“,先停止STM项目服务,再点击STM项目进入,点击”引用共享库“,并且将本应用的类加载顺序,也改为本地优先。


二、was服务类加载顺序

1、未引用共享库时

2、Web程序引用共享库时

3、模块引用共享库时

参考:

1、websphere7.0 创建共享库,引用共享库
2、websphere7.0 jar包冲突解决办法,类加载顺序

未解决疑问:

通过打印调用http类的加载链,发现在Tomcat和was是一致的,这样就无法用以上内容解释,但是通过共享库又解决了问题,不解。

was设置共享库解决jar冲突相关推荐

  1. oraclemt 无法启动服务_电脑文件无法设置共享的解决方法

    前一篇文章讲了文件设置共享的方法,正常情况下是可以设置成功的,但是肯定还有不正常的情况发生,那么下面就来讲一下无法设置共享的解决方法: 无法设置共享有很多种情况,具体就不说了,直接讲讲两种解决办法: ...

  2. Java学习笔记之二:Maven中依赖使用exclusions设置,来解决依赖冲突

    一.依赖冲突产生的原因 调用的某个A包依赖于B包,B又依赖于C 和D 但是C依赖于E的1.0版本,D依赖于E的2.0版本  1.0跟2.0冲突了. 常见解决办法:直接使用2.0版本,删除1.0的依赖 ...

  3. 怎么解决包冲突--删除EE5中的jar

    怎么解决包冲突--删除EE5中的jar 问题: jar冲突,在  WEB-INF的lib 中javax.security.jacc这个jar,但是在Java EE5 Libraries 中同样也有这个 ...

  4. 使用WebLogic共享库连续交付ADF应用程序

    介绍 当ADF应用程序建立在共享库之上时,有一种非常流行的架构模式. 因此,主应用程序被部署为EAR,并且所有子系统都在共享库中实现,这些共享库可以在"热"模式下独立构建并作为JA ...

  5. was服务器里面jar包_如何在was中解决jar包冲突

    如何在 was 中解决 jar 包冲突 大型的基于 WebSphere 的项目开发中,同一个 WebSphere Application Server (以下 简称 WAS ) 上会部署多个应用程序, ...

  6. [转] Adobe Flash Professional CS解决提示:您的内容将不流化。运行时共享库(RSL)预加载要求下载您的所有内容后才可播放第一帧。...

    某日,发布并测试flash的过程中,总是出现"运行时共享库预加载警告"弹出框(如图1),并会生成.swz文件,开始以为对flash后续开发没有影响,结果不然,会导致.swf文件通过 ...

  7. Linux 下编译安装软件,找不到共享库 xx.so 的解决办法

    编译memcached时,报错没有libevent,于是下载libevent,configure , make && make install ,然后在重新安装memcache成功之后 ...

  8. Maven解决jar包版本冲突

    jar冲突原因: jar包冲突主要是由于依赖传递导致的,不同的jar包依赖同一个不同版本的jar包,导致冲突.可以看下下图. B和C都依赖D,但是不同的版本,所以在使用的过程中可能会出现问题. 依赖调 ...

  9. JAR冲突问题的解决以及运行状态下如何查看加载的类

    今天碰到群里小伙伴问,线上程序好像有多个不同版本的Netty包,怎么去看到底加载了哪一个? 在说如何看之前,先来说说,当你开始意识到项目里有多个不同版本的Jar包,都是因为遇到了这几个异常: 1.ja ...

最新文章

  1. Hive Metastore 连接报错
  2. linux apt 命令,Ubuntu系统中apt命令的用法汇总
  3. linux php5.3 ssh2,Linux 安装php 的 ssh2扩展
  4. 用asp.net还原与恢复sqlserver数据库(转)
  5. 《.NET应用架构设计:原则、模式与实践》新书博客--试读-1.1.2 架构师的职责
  6. 第三次学JAVA再学不好就吃翔(part67)--Math类
  7. python的函数_Python 返回函数+匿名函数
  8. 漫画:什么是二分查找?
  9. 最小生成树(hdu1233还是畅通工程)
  10. Oracle连接数据库的方式
  11. MyEclipse安装插件egit并上传项目到码云
  12. grub2使用详解(官方手册)
  13. java 身份证地址提取籍贯_输入身份证号获取籍贯、出生日期、性别
  14. 单片机4*4矩阵键盘的原理
  15. Qt手动设置Kits套件
  16. python实现 stft_scipy-Python中的可逆STFT和ISTFT
  17. 浩方对战平台原理分析
  18. Hive 根据身份证规则从身份证号提取年龄和性别
  19. Endnote X9 插入参考文献、设置参考文献格式
  20. 【爬虫实战】国家企业公示网-项目分析

热门文章

  1. c++ algorithm 函数简介
  2. linux安卓busybox命令,busybox
  3. EasyCVR视频融合平台开放插件功能:支持EasyNTS与EasyShark抓包
  4. “理想男友职业”排行榜,高薪程序员输给了三大铁饭碗?原因现实
  5. ST7735S+LCD/TFT显示颜色反转(反演)问题解决方案
  6. 阿里巴巴大数据计算平台MaxCompute(原名ODPS)全套攻略(持续更新20171127)
  7. ddr3ip核心_DDR3(2):IP核初始化
  8. 大数据中的反欺诈,平台与羊毛党的攻防恶战
  9. 【关键路径问题(Critical Path)——图】
  10. c#实现魔兽(warIII)中显血和改键功能 (附源码)(代码参考sohighthesky)