tomcat找不到class的情况分析

Posted 呆萌小码

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tomcat找不到class的情况分析相关的知识,希望对你有一定的参考价值。

例如:java.lang.ClassNotFoundException: org.apache.axis2.AxisFault

1,真实的缺包,这是使用该jar包的java程序也会一般会直接报错,无法解析类。

2,引入外部jar,但是与已有的jar包冲突,出现两个同名的jar包,这种情况会让classloader不知道加载哪一jar包,这程序运行时也会报ClassNotFoundException,但是java程序因为指定了jar包,所以不会报错。

3,在referred中添加jar包,tomcat运行时报找不到,将jar包移到WEV-INF的lib目录下,这时tomcat运行不报错。原因分析:可能是tomcat的classloader优先在lib下找到了存在且唯一的包后,使程序得以通过。放在referred的jar包与已有的包冲突,使得tomcat在systemClassLoader中报ClassNotFoundException。这个应该与tomcat的classloader机制相关。

 

4,web项目的编译与运行:

eclipse工程下的library是用来编译里面的src中java文件的,实际发布到tomcat时,仅仅只复制了WEB-INF/lib里面的jar包,所以出现eclipse可以正常编译但tomcat运行是找不到类。

 

tomcat classloader机制转载:

http://blog.csdn.net/losing_coder/article/details/7327538

以上是关于tomcat找不到class的情况分析的主要内容,如果未能解决你的问题,请参考以下文章

8. maven项目启动tomcat后 找不到URI:[/struts-tags]

idea出现这种情况 junit一直提示找不到class

ssh框架启动Tomcat 不报错也找不到页面 报404错误

springmvc找不到对应的requestmapping

使用启用了安全管理器的 Tomcat 时,在类路径中找不到属性文件

Eclipse的server选项卡中找不到tomcat配置项