hibernate.cfg.xml をどこに配置するか?
-
12-12-2019 - |
質問
私のプロジェクトは次のようなものです:
/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
ファイルが必要です。そしてそれはうまくいかないでしょう。
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
」ディレクトリに配置してみてください。