我正在运行一个带有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.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:295)
at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:170).......
答案 0 :(得分:1)
您的代码正在尝试加载com.package.sit.util.HibernateUtil
类的定义,但无法找到该类的定义。
此类错误通常与阻止加载 JAR 的类加载问题有关。检查CLASSPATH
中是否包含所有必需的库。
答案 1 :(得分:0)
首先尝试添加这些.jar slf4j-api.jar和slf4j-log4j12.jar 因为hibernate内部使用这些jar。
如果它不起作用那么
按照netbeans
的这些步骤操作第1步。 从netbean而不是原始文件中删除项目(不要选中要求从原始位置删除项目的框) 第2步。 从项目文件夹中删除dist和build文件夹 第3步。 使用现有源代码创建新项目。 第4步。 添加所需的库。 现在又建了。 现在跑。
我检查了它为我工作的项目。
答案 2 :(得分:0)
我经历了同样的错误(以及误导/无用的堆栈跟踪),但发现解决方案非常简单:
将ojdbc14.jar
复制到%CATALINA_HOME%\lib
。
这篇突破性发现得益于这篇Using Hibernate with Tomcat文章。
但是......如果我更专注,我会在日志的最开始看起来更高:
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
故事的道德:有时它会支付而不是在发生异常时只查看 ,而是在日志中更早出现。