Hibernate java.lang.NoClassDefFoundError
我正在用hibernate运行一个web应用程序,遇到了这个异常Hibernate java.lang.NoClassDefFoundError,java,hibernate,exception,web-applications,Java,Hibernate,Exception,Web Applications,我正在用hibernate运行一个web应用程序,遇到了这个异常 ... 34 more 18:50:02,573 WARN [AbstractExceptionHandler] Unhandled exception javax.servlet.ServletException: java.lang.NoClassDefFoundError: Could not initialize class com.package.util.HibernateUtil at org.ap
... 34 more
18:50:02,573 WARN [AbstractExceptionHandler] Unhandled exception
javax.servlet.ServletException: java.lang.NoClassDefFoundError: Could not initialize class com.package.util.HibernateUtil
at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:295)
at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:170).......
您的代码正在尝试加载
com.package.sit.util.HibernateUtil
类的定义,但找不到该类的定义
此类错误通常与类加载问题有关,这些问题会阻止加载JAR。检查
类路径中是否有所有必需的库,首先尝试添加这些.jar slf4j-api.jar和slf4j-log4j12.jar
因为hibernate在内部使用这些jar
如果它不起作用,那么
对于netbeans,请遵循以下步骤
第一步。
从netbean而不是原始文件中删除项目(不要选中要求从原始位置删除项目的复选框)
第二步。
从项目文件夹中删除dist和build文件夹
第三步。
使用现有源代码创建新项目。
第四步。
添加所需的库。
现在又开始建造了。
现在快跑
我为我的项目检查了它,它为我工作。我经历了同样的错误(以及误导性/无用的堆栈跟踪),结果发现解决方案非常简单:
复制ojdbc14.jar
到%CATALINA\u HOME%\lib
多亏了这篇文章,这一突破性的发现才成为可能
但是。。。如果我更专注,我会在日志的开头看得更高:
Jan 14, 2013 07:29:17 AM org.hibernate.connection.DriverManagerConnectionProvider configure
SEVERE: JDBC Driver class not found: oracle.jdbc.driver.OracleDriver
java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
这个故事的寓意是:有时不只是查看异常发生的点,而是更早地查看日志。给出整个堆栈跟踪和HibernateUtil类代码耶,并检查com.package.sit.util.HibernateUtil中的静态代码/静态字段初始值设定项-这就是问题所在。问题解决了。我的应用程序使用DB2数据库和JBoss服务器。服务器中缺少DB2驱动程序。