码迷,mamicode.com
首页 > 编程语言 > 详细

解决一个少见的错误java.lang.NoClassDefFoundError

时间:2015-08-12 13:29:17      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:

以前我们的后台服务器打的一个war包,放在tomcat内运行,一直没出错过,
最近客户有要求要换成resin;4.0.36,

启动的时候没报错,奇葩的是,有几个交易一直爆

org.springframework.web.util.NestedServletException: Handler

processing failed; nested exception is java.lang.NoClassDefFoundError: org/jaxen/JaxenException

,擦从没见过,检查日志,一直是在一个引用dom4j的代码的部分报错,Document doc = null;

这句应该也不会爆粗啊,包也有 的啊,

一直百度,全部是项目内没jaxen的包,可是我一直grep,确实是有的啊,

各种百度,终于找到一个类似的了,

http://blog.itpub.net/22414008/viewspace-630917/?935eda9814828b3fff0dc207ce6d86a4=fcee9ea6a2ff42ce7f46e3a2ea851b18

,我记得jar的加载机制先加载容器的jar,然后加载项目的jar,

为了验证猜测,确实发现resin的lib下有dom4j,但是dom4j依赖jaxen的jar在项目内,

所以就把项目内的jaxen拷贝到dom4j同一个目录内,果然不报错,看来了解jvm的机制确实有用的

解决一个少见的错误java.lang.NoClassDefFoundError

标签:

原文地址:http://my.oschina.net/u/1011564/blog/491156

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!