`
大玉儿
  • 浏览: 20883 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

jar包版本冲突

阅读更多

启动一个新的应用,应用日志正常,apach日志也正常,但是访问应用失败,apach.log中有如下内容:

写道
2010-11-24 16:19:08,422 [] ERROR [/].[default] - Servlet.service() for servlet default threw exception
java.lang.NoSuchMethodError: org.slf4j.MDC.getCopyOfContextMap()Ljava/util/Map;

我第一反映是去应用中找这个类和这个方法,而他的确是存在的,然后就懵了。几个有经验的同事帮我看了之后,确定问题肯定是jar包版本冲突了,最后真正调用的jar包并不是引用中实际需要的版本。

 

目标:找出jboss启动的时候到底load哪些class,并且这些class来源是哪里

命令:-verbose:class

这个命令会把所有load的class信息输出在控制台,但是我的应用输出实在是太多了,根本没法看,而且输到一般窗口就卡死不动了。

最后我借助搜索工具,找出了我系统里所有这类jar包,然后手动删除觉得可能会影响的,哎,发现系统里高版本、低版本的都有,超级多。

最后问题是解决了,但是还是不知道到底引用的是哪个jar出的问题,所以输出下load class其实还是必须的。恩,晚上好好找找可以输出到指定文件的方法!

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics