java.lang.NoClassDefFoundError:无法初始化类org.com.hibernate.HibernateUtil [英] java.lang.NoClassDefFoundError: Could not initialize class org.com.hibernate.HibernateUtil

查看:120
本文介绍了java.lang.NoClassDefFoundError:无法初始化类org.com.hibernate.HibernateUtil的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是我的hibernate util代码

  public class HibernateUtil {

private static final SessionFactory sessionFactory = buildSessionFactory();

private static SessionFactory buildSessionFactory(){
try {
//从hibernate.cfg.xml创建SessionFactory
返回新的AnnotationConfiguration().configure()。 buildSessionFactory();
} catch(Throwable ex){
System.err.println(Initial SessionFactory creation failed。+ ex);
抛出新的ExceptionInInitializerError(ex);



public static SessionFactory getSessionFactory(){
return sessionFactory;


这是我的hibernate.cfg.xml

 <?xml version ='1.0'encoding ='utf-8'?> 
<!DOCTYPE hibernate-configuration PUBLIC
- // Hibernate / Hibernate配置DTD 3.0 // EN
http://hibernate.sourceforge.net/hibernate-configuration-3.0 .dtd>

< hibernate-configuration>

< session-factory>

<! - 数据库连接设置 - >
< 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连接池(使用内置) - >
< property name =connection.pool_size> 3< / property>

<! - - SQL方言 - >
< property name =dialect>
org.hibernate.dialect.Oracle10gDialect
< / property>

<! - 启用Hibernate的自动会话上下文管理 - >
< property name =current_session_context_class>线程< / property>

<! - 禁用二级缓存 - >
< property name =cache.provider_class>
org.hibernate.cache.NoCacheProvider
< / property>

<! - 将所有执行的SQL回复到stdout - >
< property name =show_sql> true< / property>

<! - 在启动时删除并重新创建数据库模式 - >
< property name =hbm2ddl.auto>更新< / property>

< mapping class =org.com.tables.User_Details/>
< / session-factory>

< / hibernate-configuration>

这就是错误

  java.lang.NoClassDefFoundError:无法初始化类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 (本机方法)
在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
在java.lang中.reflect.Method.invoke(Method.java:597)
在com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:399)在com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly
(DefaultActionInvocation .java:262)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:224)
at org.apac he.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)
处org.apache.catalina.core.ApplicationFilterChain org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
。的doFilter(ApplicationFilterChain.java:210)
在org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
在org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve。的java:164)$在org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462 b $ b)
。在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)
在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)
在org.apache.coyote.http11.Http11Protocol $ Http11ConnectionHandler.process(Http11Protocol.java:162)
。在org.apache.tomcat.util.net。 JIoEndpoint $ SocketProcessor.run(JIoEndpoint.java:309)$ java.util.concurrent.ThreadPoolExecutor
$ Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor $ Worker。运行(ThreadPoolExecutor.java:908)
在java.lang.Thread.run(Thread.java:619)

任何人都可以帮我找出这个错误的全部内容,如果没有,我可能会遇到任何问题。如果这与库或任何其他事情有关系,请提出建议。我正在使用struts 2进行mvc和hibernate 3用于数据库连接,tomcat 7用作web服务器。

解决方案

您可以在

http://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< - 检查您的jar版本
jta.jar
log4j-1.2。 3.jar

运行hibernate相关的编程以及所有jar hibernate3。 jar 是主文件。

除了hibernate jar外,还必须包含一个与数据库类型相关的jar文件(mysql, oracle,等等..)你使用..



在执行程序之前尝试使用适当版本的jar ...某些版本s的罐子不支持运行...并推荐最新的...


This is my hibernate util code

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;
}
}

this is my 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>

and this is the error

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)

can any one help me find out what is this error all about ,am struck like nothing.If this has some thing to do with the libraries or any other thing please suggest.I am using struts 2 for mvc and hibernate 3 for database connection and tomcat 7 as a web server.

解决方案

You can download jars related to hibernate at

http://sourceforge.net/projects/hibernate/files/hibernate3

unzip it and check whether the following files are added to your lib folder

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

To run hibernate related programming and among all the jars hibernate3.jar is the main file..

Along with the hibernate jars you must include one more jar file related to the type of database(mysql,oracle,etc..) you use..

Try using proper versions of jar before you execute your program...some versions of jars are not supported to run...and the latest one is recommended...

这篇关于java.lang.NoClassDefFoundError:无法初始化类org.com.hibernate.HibernateUtil的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆