1

これは私の休止状態ユーティリティコードです

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)

このエラーが何であるかを知るのを手伝ってくれる人はいますか、何もないように打たれます.これがライブラリまたは他の何かと関係がある場合は、提案してください.私はmvcにstruts 2を使用し、データベース接続にhibernate 3を使用していますweb サーバーとしての tomcat 7。

4

4 に答える 4

4

hibernate に関連する jar は、次の場所からダウンロードできます。

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    <--Check this version of your jar
jta.jar
log4j-1.2.3.jar

休止状態関連のプログラミングを実行するには、すべての jar の中hibernate3.jarにメイン ファイルがあります。

休止状態の jar とともに、使用するデータベースのタイプ (mysql、oracle など) に関連するもう 1 つの jar ファイルを含める必要があります。

プログラムを実行する前に、適切なバージョンの jar を使用してみてください...一部のバージョンの jar は実行がサポートされていません...最新のものをお勧めします...

于 2013-02-19T12:09:46.887 に答える
3

Glassfish サーバーを使用している誰かが同じ問題に直面している場合は、次のことを行う必要があります。

  1. Glassfish インストール パスに移動し、パスの下にデータベースの jdbc ドライバーを追加します。glassfish/domains/domain1/lib/

  2. Glassfish サーバーを再起動します。

于 2014-12-04T19:50:59.893 に答える
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

于 2013-02-20T07:06:26.530 に答える