Java Web项目 NoClassDefFoundError 错误及 ClassNotFoundException异常

时间:2023-01-19 21:13:48

Java Web项目,可以引用其他项目,如:

Java Web项目 NoClassDefFoundError 错误及 ClassNotFoundException异常Java Web项目 NoClassDefFoundError 错误及 ClassNotFoundException异常


通过在Java Build Path 引用了第三方项目,可以保证编译时不出错,因为这个引用的项目已经在Web项目的classPath中,同样,在Web中写main方法引用这个第三方项目的类也不会出错,因为Eclipse会在当前工作空间中找到该项目。


而当发布到比如Tomcat后,由于只在classPath中配置了该项目,当要用到被引用的类,JVM想要去Web项目的WEB-INF/lib或WEB-INF/classes目录加载被引用的类时,却找不

到,就会发生ClassNotFoundException继而引发NoClassDefFoundError:

Java Web项目 NoClassDefFoundError 错误及 ClassNotFoundException异常

Java Web项目 NoClassDefFoundError 错误及 ClassNotFoundException异常


那就要把引用的项目打包放到Tomcat,这可以通过Eclipse设置:

Java Web项目 NoClassDefFoundError 错误及 ClassNotFoundException异常

Java Web项目 NoClassDefFoundError 错误及 ClassNotFoundException异常

当然,你也可以手动打包项目放到Tomcat对应项目的lib目录下,只是很烦。