关于java.lang.NoClassDefFoundError: Could not initialize class×××的一项解决方案

时间:2024-04-01 20:14:34

文章目录

问题描述

遇到java.lang.NoClassDefFoundError 多数是Jar包的问题:
最近初学Tomcat以及Druid连接池,做了一个小练习:通过读取数据库中的用户信息,与客户端发送的用户信息进行比对,判断是否登陆成功。(通过JSP和JAVABean实现)
部署好服务器和JDBC之后,启动项目,在执行业务流程时报错:
关于java.lang.NoClassDefFoundError: Could not initialize class×××的一项解决方案
具体报错:java.lang.NoClassDefFoundError: Could not initialize class DruidUtils.DruidUtils 无法初始化DruidUtils工具类

然而在 本地 测试的时候,访问数据库正常。
问题在于Tomcat服务器的部署不完整。

由于本地使用第三方Jar包时,将所需Jar包复制到工程目录下,然后右键Build Path -> Add to Build Path即可,此时Jar可以被本地的项目调用。

关于java.lang.NoClassDefFoundError: Could not initialize class×××的一项解决方案
但是WebContent/WEB-INF/lib中却没有以上Jar包,导致了Tomcat服务器无法找到并调用以上Jar包,导致无法初始化DruidUtils工具类。

解决方案

将DruidUtils所需Jar包导入WebContent/WEB-INF/lib中,重新编译,启动项目即可。关于java.lang.NoClassDefFoundError: Could not initialize class×××的一项解决方案
方法来源于以下博客:

链接:java.lang.NoClassDefFoundError错误产生的原因及解决方案(一种方案)