问题描述
遇到java.lang.NoClassDefFoundError 多数是Jar包的问题:
最近初学Tomcat以及Druid连接池,做了一个小练习:通过读取数据库中的用户信息,与客户端发送的用户信息进行比对,判断是否登陆成功。(通过JSP和JAVABean实现)
部署好服务器和JDBC之后,启动项目,在执行业务流程时报错:
具体报错:java.lang.NoClassDefFoundError: Could not initialize class DruidUtils.DruidUtils 无法初始化DruidUtils工具类
然而在 本地 测试的时候,访问数据库正常。
问题在于Tomcat服务器的部署不完整。
由于本地使用第三方Jar包时,将所需Jar包复制到工程目录下,然后右键Build Path -> Add to Build Path即可,此时Jar可以被本地的项目调用。
但是WebContent/WEB-INF/lib中却没有以上Jar包,导致了Tomcat服务器无法找到并调用以上Jar包,导致无法初始化DruidUtils工具类。
解决方案
将DruidUtils所需Jar包导入WebContent/WEB-INF/lib中,重新编译,启动项目即可。
方法来源于以下博客: