私のプロジェクトは次のようなものです。
/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-app WARプロジェクトの場合(プログラムをサーブレットコンテナで実行している場合):WEB-INF/classes
に配置すると、WEB-INF/classes
のファイルがクラスパスで表示されるときに機能しますアプリはコンテナで実行されています。
Maven-styleプロジェクトの場合(サーブレットコンテナでプログラムを実行しない):/src/main/resources/
に配置すると動作します
それ以外の場合は、src/
ディレクトリで試してください。
私はmavenを使用していますが、src/main/resources
にhibernate.cfg.xmlを配置するまで機能しませんでした。
プロジェクトのルートで:/src
(デフォルトでリート)
/src
ソースはディレクトリですか?
新しいJavaクラスを作成すると、パッケージに含まれます(通常は、作成されたディレクトリと同じ名前で呼び出されます)。クラス宣言では、次のように表示されます。
package foo;
class MyClass{
デフォルトIDE設定では、クラスは/src/foo/MyClass.Java
。ご覧のとおり、このシナリオでは/src
はルートソースディレクトリとして機能します。
webプロジェクトでない場合は、明示的にそのようにします
new Configuration().configure( "pth/to/hibernate.cfg.xml").buildsessionfactory()
これが役立つことを願っています
@SiBはリンク(mkyongのWebサイト)を示しました。そこによく説明されています。
ファイルは/src
dirのルートに移動し、/src
はデプロイされず、その中のすべてがWEB-INF/classes
which ISに構築/コピーされます展開されました。 Hibernateには、プロジェクトのclasspath
にcfg.xml
ファイルが必要です。設定を読み込むには、WEB-INF
dirがclasspath
にないため、そこにいると、Hibernateからhidingになってしまい、動作しません。
この thread は、異なるパスからhibernate.cfg.xmlをロードする方法を示します。
Eclipseを使用している場合は、[プロジェクト]-> [プロパティ]-> Java Build Path-> Sourceに移動します。ファイルを配置した新しいフォルダーを追加するか、既存のフォルダーにファイルを移動できます。
それを「src/main/resources
"ディレクトリ。
場所 hibernate.cfg.xml
下 src/
フォルダー、またはコード内のパスを次のように明示的に記述します。
new Configuration.configure("path of hibernate.cfg.xml").buildsessionfactory()
Eclipsを使用しているときにCMD + N/CTR + Nを実行すると、ダイアログボックスが開き、Hibernateフォルダーをダブベルクリックする必要があります。 XML拡張でファイルのリストを開きます。 cfg.xmlを選択し、[続行]をクリックして完了したら!完了をクリックします。これで、Eclipsはcfg.xmlファイルにクラス名を追加し、SRCフォルダーの下に表示します。 GB