Skip to content

JAVA 11버전일때, hibernate.properties not found 오류 #58

@rkdtmddnjs97

Description

@rkdtmddnjs97

pom.xml에서 라이브러리를

        <!-- JPA 하이버네이트 -->
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-entitymanager</artifactId>
            <version>5.3.10.Final</version>
        </dependency>
        <!-- H2 데이터베이스 -->
        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
            <version>1.4.199</version>
        </dependency>

이 두 개만 가져오면
hibernate.properties not found 오류가 났다.
qna에 이런 문제가 올라온 글이 있었고,
그 글에서 김영한 님께서 답글 달아준 링크가 있었는데,

그 질문자는 Caused by: java.lang.ClassNotFoundException: javax.xml.bind.JAXBException 에러가 떴다고 한다.
javax.xml 관련 모듈을 찾지 못하는 문제였고, 질문자는

        <dependency>
            <groupId>javax.xml.bind</groupId>
            <artifactId>jaxb-api</artifactId>
            <version>2.3.0</version>
        </dependency>

javax.xml.bind를 디펜던시에 추가해주었다.

내 코드에서 나오는 에러 메세지와 위, 질문자의 에러 메세지는 다르지만 xml(persistence.xml) 읽지 못하는 공통적인 문제였다.

** 왜 JAVA8에서는 에러가 안났는데, JAVA11에서는 났을까?**

Java에서 xml파일 정보를 읽기 위한 api를 JAXB(Java Architecture for XML binding)이라고 하는데,
Java8 -> Java9 로 버전업 했을때, 해당 모듈을 제거했고 Java11에서는 JDK에서 아예 없어졌다고 한다.
그래서 따로 디펜던시에 추가를 해야된다.

Metadata

Metadata

Assignees

Labels

Self스스로 답변Spring - Kim Yeonghan김영한님 스프링 강의 관련 질의응답

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions