質問

私のプロジェクトは次のようなものです:

/src/main/java
     -thegamers
         -app.java
         -hibernateutil.java

誰かが hibernate.cfg.xml をどこに置くか教えてもらえますか?

このエラーが発生するため:

Initial SessionFactory creation failed.org.hibernate.HibernateException: hibernate.cfg.xml not found
Exception in thread "main" java.lang.ExceptionInInitializerError
    at thegamers.HibernateUtil.buildSessionFactory(HibernateUtil.java:17)
    at thegamers.HibernateUtil.<clinit>(HibernateUtil.java:8)
    at thegamers.App.main(App.java:15)
Caused by: org.hibernate.HibernateException: hibernate.cfg.xml not found
    at org.hibernate.util.ConfigHelper.getResourceAsStream(ConfigHelper.java:170)
    at org.hibernate.cfg.Configuration.getConfigurationInputStream(Configuration.java:2149)
    at org.hibernate.cfg.Configuration.configure(Configuration.java:2130)
    at thegamers.HibernateUtil.buildSessionFactory(HibernateUtil.java:13)
    ... 2 more
役に立ちましたか?

解決

設定ファイル hibernate.cfg.xml にある必要があります classpath.

これは、プロジェクトに応じてさまざまな方法で実現できます。

  • のために ウェブアプリ戦争 プロジェクト (サーブレット コンテナでプログラムを実行しています):それを置く WEB-INF/classes のファイルとして機能します WEB-INF/classes アプリがコンテナーで実行されているときにクラスパス上に表示されます。

  • のために メイビン-style プロジェクト (サーブレット コンテナーでプログラムを実行しない):それを置く /src/main/resources/ 働くでしょう

  • それ以外の場合は、 src/ ディレクトリ。

他のヒント

私はMavenを使っています、そしてそれはhibernate.cfg.xmlをsrc/main/resourcesに入れるまで私のためには機能しませんでした。

プロジェクトのルートで: /src (少なくともデフォルトでは)

かどうかを知る方法 /src ソースはディレクトリですか?
新しい Java クラスを作成すると、そのクラスはパッケージに含まれます (通常は、クラスが作成されたディレクトリと同じ名前で呼び出されます)。したがって、クラス宣言では次のようになります。

package foo;

class MyClass{

デフォルトの IDE 設定では、クラスは次の場所にあるはずです。 /src/foo/MyClass.java. 。ご覧のとおり、このシナリオでは /src ルートソースディレクトリとして機能します。

Webプロジェクトではない場合は、そのようなのように明示的にします。

new Configuration().configure( "pth/to/hibernate.cfg.xml").buildsessionfactory()
.

これが役に立つかもしれないことを願っています

@SIBはリンクを指摘しました(MyongのWebサイト)。それはそこによく説明されています。

/src Dirのルートに入ると、/srcはデプロイされていません。Hibernateには、ProjectのWEB-INF/classesファイルがConfig Settingsをロードするためにcfg.xmlファイルが必要です。そしてそれはうまくいかないでしょう。

このスレッド任意の異なるパスからhibernate.cfg.xmlをロードする方法を説明します。

Eclipseを使用している場合は、プロジェクト - >プロパティ - > Javaビルドパス - >ソースに移動します。ファイルを配置する新しいフォルダを追加するか、ファイルを既存のフォルダに移動できます。

cmd + n / ctr + nエクリップにいる間は、Dubbelが入っているダイアログボックスを開くと、Hibernateフォルダをクリックします。 XMLの拡張機能を持つファイルのリストを開きます。 cfg.xmlを選択して続行をクリックすると、完了したら!完了をクリックしてください。EclipsはCFG.xmlファイルを持つクラス名を追加し、SRCフォルダの下に表示されます。gb

hibernate.cfg.xmlフォルダの下でPlace Code Codeのパスを明示的に説明する:

new Configuration.configure("path of hibernate.cfg.xml").buildsessionfactory()
.

src/main/resources」ディレクトリに配置してみてください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top