jar包版本冲突
启动一个新的应用,应用日志正常,apach日志也正常,但是访问应用失败,apach.log中有如下内容:
写道2010-11-24 16:19:08,422 [] ERROR [/].[default] - Servlet.service() for servlet default threw exception我第一反映是去应用中找这个类和这个方法,而他的确是存在的,然后就懵了。几个有经验的同事帮我看了之后,确定问题肯定是jar包版本冲突了,最后真正调用的jar包并不是引用中实际需要的版本。
?
目标:找出jboss启动的时候到底load哪些class,并且这些class来源是哪里
命令:-verbose:class
这个命令会把所有load的class信息输出在控制台,但是我的应用输出实在是太多了,根本没法看,而且输到一般窗口就卡死不动了。
最后我借助搜索工具,找出了我系统里所有这类jar包,然后手动删除觉得可能会影响的,哎,发现系统里高版本、低版本的都有,超级多。
最后问题是解决了,但是还是不知道到底引用的是哪个jar出的问题,所以输出下load class其实还是必须的。恩,晚上好好找找可以输出到指定文件的方法!