문제

내 프로젝트는 다음과 같습니다:

/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
도움이 되었습니까?

해결책

Config 파일 hibernate.cfg.xml 필요에 classpath.

이 작업을 수행할 수 있습니다 다른 방법으로,따라서 귀하의 프로젝트입니다.

  • 웹사-응용 프로그램 전쟁 프로젝트가(당신은 프로그램을 실행에 Servlet 컨테이너):에 배치 WEB-INF/classes 작동으로 파일 WEB-INF/classes 에 볼 수 있을 때 클래스 경로에서 실행되는 컨테이너입니다.

  • Maven스타일의 프로젝트(프로그램을 실행에 Servlet 컨테이너):에 배치 /src/main/resources/ 작동

  • 를 위해 그렇지 않으면도 src/ 디렉토리에 있습니다.

다른 팁

나는 Maven을 사용하고, 내가 hibernate.cfg.xml을 generacodicicetagcode에 넣을 때까지는 저를 위해 작동하지 않았습니다.

프로젝트의 루트에서 : /src (기본적으로 기본적으로 leat)

/src가 소스 디렉토리인지 어떻게 알 수 있습니까? 새 Java 클래스를 만들면 패키지에 포함되어 있습니다 (일반적으로 그것은 생성 된 디렉토리의 이름과 동일한 이름으로 호출됩니다).그럼, 당신의 수업 선언문에서 다음과 같은 것을 볼 수 있습니다 :

package foo;

class MyClass{
.

기본 IDE 설정에서 클래스는 /src/foo/MyClass.java에서 찾아야합니다.볼 수 있듯이이 시나리오에서 /src에서 루트 소스 디렉토리로 작동합니다.

웹 프로젝트가 아닌 경우 해당 을 명시 적으로 사용하십시오.

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

이것이 도움이 될 수 있습니다

@sib은 링크를 가리켰다 (Mkyong의 웹 사이트).거기에 잘 설명되어 있습니다.

파일이 들어가는 것으로 루트 /src dir 동 /src 배포하지 않은 모든 것에 내장되어/복사하는 WEB-INF/classes 는 배포됩니다.최대 절전 모드 필요 cfg.xml 에서 파일 classpath 프로젝트의 부하를 구성 설정 WEB-INF dir 지 classpath, 도록 하는 경우가 포함되어 있을 수 있습니다,당신 숨기기 그것이 최대 절전 모드에서 및 작동하지 않을 것입니다.

스레드 는 당신을 말할 것을 로드하는 방법 hibernate.cfg.xml 에서 어떤 다른 경로입니다.

Eclipse를 사용하는 경우 프로젝트 -> 속성 -> Java 빌드 경로 -> 소스로 이동하십시오.파일을 배치 한 새 폴더를 추가하거나 파일을 기존 폴더로 이동할 수 있습니다.

cmd + n / ctr + n 일식에있는 동안 Dibbel을 클릭하면 Hibernate 폴더를 클릭해야합니다. XML 확장이있는 파일 목록을여십시오. cfg.xml을 선택하고 계속을 클릭하고 계속할 때!마침을 클릭하십시오.Eclips는 이제 cfg.xml 파일을 사용하여 클래스 이름을 추가하고 SRC 폴더 아래에 표시합니다.GB

hibernate.cfg.xml 폴더 아래에서 src/를 놓거나 다음과 같이 코드의 경로를 명시 적으로 언급합니다.

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

"src/main/resources"디렉토리에 배치하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top