-
关于weblogic jar冲突5
我使用weblogic9.2,json包使用的是jackson,现在存在weblogic的包与jackson的包冲突,因为我把jackson包去掉了报java.langl.nosuchmethoderror报错,而不是noclassdefined所以应该确定是jar冲突了。不知道应该 去哪里找冲突jar包,具体是涉及到ObjectMapper类的一个方法无法找到。有谁有这方面的经验分享一下。谢了
问题补充:hao117 写道可以通过配置文件来修改加载顺序,使得lib目录中的类得到优先调用,在weblogic.xml中加入下面的代码段:
<container-descriptor>
<prefer-web-inf-classes>true</prefer-web-inf-classes>
</container-descriptor>
加入这个也是一样的,而且我是9.2版本,我奇怪的是不加jackson这个包,报nosuchmethoderror,加了项目能起来,但是功能又报jackson的错误
问题补充:hao117 写道最好能把完整的异常也帖出来,jackson也用过,但我在weblogic10上是正常的hao117 写道最好能把完整的异常也帖出来,jackson也用过,但我在weblogic10上是正常的
就是这个错误,我上传附件了。而且好像不是jackson jar冲突,我之前没有吧weblogic中wl_user的包中jackson包删掉。全部删掉后,报noclassdefined错误了。我在项目中加上jackson包可以正常起来了,但是访问功能点时就报数据越界的错误。我在tomcat和was6,7测试都没问题的。
求解答2012年3月17日 18:52
5个答案 按时间排序 按投票排序
-
<container-descriptor> <prefer-web-inf-classes>true</prefer-web-inf-classes> </container-descriptor>
你得确认这个配置是否生效,
如果不生效,可以看下weblogic对应版本的说明文档,看是到底要具体怎么配置才能优先使用工程内的jar包
同时你可以检测你的class文件使用的是哪个加载器
参考下面的代码
Class c = Class.forName("java.lang.Object"); ClassLoader cl= c.getClassLoader(); System.out.println("java.lang.Object's loader is " + cl);
/*LoaderSample1.java*/ public class LoaderSample1 { public static void main(String[] args) { Class c; ClassLoader cl; cl = ClassLoader.getSystemClassLoader(); System.out.println(cl); while (cl != null) { cl = cl.getParent(); System.out.println(cl); } try { c = Class.forName("java.lang.Object"); cl = c.getClassLoader(); System.out.println("java.lang.Object's loader is " + cl); c = Class.forName("LoaderSample1"); cl = c.getClassLoader(); System.out.println("LoaderSample1's loader is " + cl); } catch (Exception e) { e.printStackTrace(); } } } 在我的机器上(Sun Java 1.4.2)的运行结果 sun.misc.Launcher$AppClassLoader@1a0c10f sun.misc.Launcher$ExtClassLoader@e2eec8 null java.lang.Object's loader is null LoaderSample1's loader is sun.misc.Launcher$AppClassLoader@1a0c10f 第一行表示,系统类装载器实例化自类sun.misc.Launcher$AppClassLoader 第二行表示,系统类装载器的parent实例化自类sun.misc.Launcher$ExtClassLoader 第三行表示,系统类装载器parent的parent为bootstrap 第四行表示,核心类java.lang.Object是由bootstrap装载的 第五行表示,用户类LoaderSample1是由系统类装载器装载的
2012年3月17日 23:22
-
可以通过配置文件来修改加载顺序,使得lib目录中的类得到优先调用,在weblogic.xml中加入下面的代码段:
<container-descriptor>
<prefer-web-inf-classes>true</prefer-web-inf-classes>
</container-descriptor>
2012年3月17日 19:43
-
你可以试试这个网站:
http://www.findjar.com/index.x
找到类对应的jar。然后解决冲突的jar包,用合适版本的jar包。2012年3月17日 19:23
相关推荐
在tomcat下部署成功,迁移到weblogic下,报错,一般都是配置和jar包问题,配置问题开发根据报错能解决,jar冲突比较烦人,这里给出了解决方案。
Hibernate的Antlr在Weblogic中产生Jar冲突的历史缘故以及解决办法
将应用部署在Weblogic Server 10.3中与Axis2冲突的问题可以通过删除项目WEB-INF\lib目录下的wstx-asl-3.2.4.jar包来解决。同时,也可以通过在WEB-INF\lib目录下配置weblogic.xml文件来解决包冲突的问题。
主要介绍了关于weblogic部署Java项目的包冲突问题的解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
weblogic10 与hibernate冲突解决方案 错误如下:org.hibernate.QueryException: ClassNotFoundException: org.hibernate.hql.ast.HqlToken linux windows 环境解决方案全解 Linux 启动脚本添加如下: export USER_...
在websphere8.5 下部署含有CXFwebservice的war包无法正常启动,...归根结底原因不是找不到类,而是发布后war下的jar与websphere自身平台下的jar冲突了,要解决此问题就要通过在websphere下建立共享库来根除,可参考附件
3. Jar 包冲突:项目框架从 Tomcat 移植至 WebLogic 可能会出现 Jar 包冲突的现象,需要预加载 Jar 包。预加载 Jar 包可以解决类加载问题。 4. 配置文件修改:由于 WebLogic 不支持通配符,因此需要在配置文件中将...
关联一个hibernate、webLogic的一个文档,可以快速的查找关于hibernate和weblogic的冲突
JMS的配置顺序: 一.配置连接工厂; 二.配置消息存储; 三.配置JMS服务器; 四.配置消息目的地
本方法经本人亲自使用写下,在 检查 冲突 一步 检查 了很久大约 30分钟 ,但是最后也是成功了,所以只要不报错就可以 把补丁打上,如果 遇到 冲突 请参考 卸载补丁的方法 特别忠告:另外行动手之前备份 Oracle全...
当jar包中某个class重复的时候,你肯定想定位到底是哪两个jar在冲突。 当你写程序需要weblogic的某个类支持的时候,你一定会对于在weblogic的lib下那几十个jar中寻找你需要的类痛不欲生。 如果你想在一堆JAR包中查找...
下载回去即可使用,自己重新编译的ueditor1.1.1.jar包已经解决官网下载回来的不能...WEB-INF下的weblogic.xml是解决ueditor中的commons-io2.4.jar与weblogic自带的commons-io冲突的问题(tomcat用户可以删除该文件)