在哪里放置hibernate.cfg.xml?

Noo*_*oor 45 hibernate hibernate.cfg.xml

我的项目是这样的:

/src/main/java
     -thegamers
         -app.java
         -hibernateutil.java
Run Code Online (Sandbox Code Playgroud)

谁能告诉我在哪里放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
Run Code Online (Sandbox Code Playgroud)

Don*_*dle 26

配置文件hibernate.cfg.xml需要在classpath.

这可以通过不同的方式完成,具体取决于您的项目.

  • 对于Web应用程序WAR项目(您正在Servlet容器中运行该程序):当应用程序在容器中运行时,将其放入WEB-INF/classes文件中将WEB-INF/classes在类路径中可见.

  • 对于Maven风格的项目(不在Servlet容器中运行程序):将其放入其中/src/main/resources/将起作用

  • 否则,请尝试在src/目录中.


ksn*_*tum 14

我正在使用maven,在我输入hibernate.cfg.xml之前它对我不起作用src/main/resources.


man*_*nix 11

在项目的根目录:( /src默认为leat)

如何知道/src来源dir?
创建新的Java类时,它包含在一个包中(通常它被称为创建它的dir的相同名称).所以,在你的班级宣言中你可以看到这样的东西:

package foo;

class MyClass{
Run Code Online (Sandbox Code Playgroud)

在默认的IDE设置中,应该在下面找到该类/src/foo/MyClass.java.如您所见,在此场景中/src充当根源dir.