web-dev-qa-db-ja.com

java.lang.NoClassDefFoundError:org / hibernate / cfg / Configuration

Tomcatでデプロイしながら、EclipseでHibernateを使用して初期セットアップを実行しようとしています。

次の問題が発生しました:

Java.lang.ClassNotFoundException: org.hibernate.cfg.Configuration
    org.Apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.Java:1701)
    org.Apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.Java:1546)
    db.HibernateUtil.buildSessionFactory(HibernateUtil.Java:13)
    db.HibernateUtil.<clinit>(HibernateUtil.Java:8)

私は自分の問題をオンラインで調べましたが、プロジェクトのクラスパスと関係があることを理解しています。

Hibernateのダウンロードの「required」ディレクトリの下にあるすべてのjarを含むユーザーライブラリをプロジェクトに追加しましたが、動作しないようです。

私のプロジェクトのスクリーンショットを見つけてください here:

10
Blue

Tomcatがhibernateライブラリを使用できないため、エラーが発生します。あなたの写真では、hibernateライブラリセットの下に 'Web App Libraries'と呼ばれる空のセットがあります-これは、hibernateライブラリを入れる必要があるセットです。

プロジェクト->ビルドパス->ビルドパスの構成を右クリックし、ビルドパスから休止状態セットを削除します。次に、jarをWEB-INF/libフォルダーにインポートします。プロジェクトを更新すると、それらが「Web App Libraries」セットにリストされているはずです(これをコードベースにインポートする必要があることはやっかいですが、他の誰かがこれを行わないより良い方法を知っているかもしれません) jarファイルをコピーする必要があります)

24
Chris White

このエラーは、jarファイルがWebアーカイブでexportedされていない場合に発生する可能性があります。 @Chris Whiteが言ったことを実行できます。または、Eclipseを使用している場合は、以下の手順を実行できます。

Right click the project -> Build Path -> Configure Build Path

左側のリストでDeployment Assemblyをクリックします。 「追加」ボタンをクリックします。 「Java Build Path Entries」を選択し、「next」をクリックします。次に、休止状態のjarファイルまたはライブラリを選択します。 完了をクリックします。次にOKをクリックします。
必要に応じてサーバーを再起動します。

18
prageeth

クリスホワイトの方法よりも簡単な方法。

Tomcatがhibernateライブラリを使用できないため、エラーが発生します。プロジェクトを右クリック->ビルドパス->ビルドパスを構成し、ビルドパスから休止状態セットをremoveします。

同じことを行いますが、新しいプロジェクトのたびにjarをインポートする代わりに、**必要なhibernate jarをApache Tomcatのlibフォルダーにコピーします**(またはサーバーが使用しているものはすべて)。

3

ライブラリフォルダーにhibernate jarがありません。解決策については、以下のリンクにアクセスしてください http://www.smashplus.info/2012/11/javalangnoclassdeffounderror.html

2
Shams