这是我的hibernate util代码
public class HibernateUtil {
private static final SessionFactory sessionFactory = buildSessionFactory();
private static SessionFactory buildSessionFactory() {
try {
// Create the SessionFactory from hibernate.cfg.xml
return new AnnotationConfiguration().configure().buildSessionFactory();
} catch (Throwable ex) {
System.err.println("Initial SessionFactory creation failed." + ex);
throw new ExceptionInInitializerError(ex);
}
}
public static SessionFactory getSessionFactory() {
return sessionFactory;
}
}
这是我的hibernate.cfg.xml
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- Database connection settings -->
<property name="connection.driver_class">
oracle.jdbc.OracleDriver
</property>
<property name="connection.url">
jdbc:oracle:thin:@127.0.0.1:ABC
</property>
<property name="connection.username">abc</property>
<property name="connection.password">***</property>
<!-- JDBC connection pool (use the built-in) -->
<property name="connection.pool_size">3</property>
<!-- SQL dialect -->
<property name="dialect">
org.hibernate.dialect.Oracle10gDialect
</property>
<!-- Enable Hibernate's automatic session context management -->
<property name="current_session_context_class">thread</property>
<!-- Disable the second-level cache -->
<property name="cache.provider_class">
org.hibernate.cache.NoCacheProvider
</property>
<!-- Echo all executed SQL to stdout -->
<property name="show_sql">true</property>
<!-- Drop and re-create the database schema on startup -->
<property name="hbm2ddl.auto">update</property>
<mapping class="org.com.tables.User_Details" />
</session-factory>
</hibernate-configuration>
这是错误
java.lang.NoClassDefFoundError: Could not initialize class org.com.hibernate.HibernateUtil
at org.com.graphDoa.GraphDOA.salaryData(GraphDOA.java:14)
at org.com.charts.LineChart.generateSalaryPai(LineChart.java:32)
at com.kogent.action.TestAction.execute(TestAction.java:17)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:399)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:262)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:224)
at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:50)
at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:507)
at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:421)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:403)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:301)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:162)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
任何人都可以帮我找出这个错误是什么,我什么都没有。如果这与图书馆或其他任何东西有关,请建议。我正在使用struts 2 for mvc和hibernate 3 for数据库连接和tomcat 7作为Web服务器。
答案 0 :(得分:4)
您可以在
下载与hibernate相关的jarhttp://sourceforge.net/projects/hibernate/files/hibernate3
解压缩并检查以下文件是否已添加到lib
文件夹
Anttr-2.7.6.jar
asm.jar
asm-attrs.jar
cglib-2.1.3.jar
commons-collections-2.1.1.jar
commons-logging-1.0.4.jar
ehcash.jar
dom4j-1.6.1.jar
hibernate3.jar <--Check this version of your jar
jta.jar
log4j-1.2.3.jar
要运行与hibernate相关的编程,所有的jar hibernate3.jar
都是主文件..
除了hibernate jar之外,还必须包含一个与你使用的数据库类型(mysql,oracle等)相关的jar文件。
在执行程序之前尝试使用正确版本的jar ...不支持运行某些版本的jar ...建议使用最新版本的...
答案 1 :(得分:3)
如果有人遇到使用Glassfish服务器的同一问题,您必须执行以下操作,
转到Glassfish安装路径并在路径glassfish/domains/domain1/lib/
重新启动Glassfish服务器。
答案 2 :(得分:1)
使用这个jar :::
antlr-2.7.7
commons-collections-3.2.1
dom4j-1.6.1
hibernate-commons-annotations-4.0.1.Final
hibernate-core-4.1.9.Final
hibernate-entitymanager-4.1.9.Final
hibernate-jpa-2.0-api-1.0.1.Final
javassist-3.17.1-GA
jboss-transaction-api_1.1_spec-1.0.0.Final
jboss-logging-3.1.0.GA
sqljdbc4-2.0(as per your database used)
发自:
http://sourceforge.net/projects/hibernate/files/latest/download?source=files
答案 3 :(得分:0)
您没有在HibernateUtil类中提供包名称。如果没有定义包该类将属于默认包,并且您无法从org.com.hibernate.HibernateUtil获取HibernateUtil类