발생 상황
- Java 8에서 Java 11로 버전 업그레이드 하였는데 이와 같은 에러가 발생하였다.
- 자바 8에서는 정상적으로 작동했었다.
발생 원인
- Java 8 -> Java 9 버전업 시 해당 모듈이 제거됐다고 한다.
- Java SE 9: JAXB API를 Java EE API로 간주해 기본 클래스 경로에 포함하지 않음
- Java 11: JAXV API를 JDK에서 아예 제거
해결 방식
1차로 다음의 글을 보고 참조하여 해결하였다.
How to resolve java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException
I have some code that uses JAXB API classes which have been provided as a part of the JDK in Java 6/7/8. When I run the same code with Java 9, at runtime I get errors indicating that JAXB classes ...
stackoverflow.com
그래서 MAVEN을 다음과 같이 바꿔준다
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.0</version>
</dependency>
Gradle의 경우에는 다음과 같이 설정해준다.
implementation 'javax.xml.bind:jaxb-api:2.3.0'
참조 글
https://yeonyeon.tistory.com/240
[Java] java.lang.ClassNotFoundException: javax.xml.bind.JAXBException 에러
java.lang.ClassNotFoundException: javax.xml.bind.JAXBException 에러 🤔 상황 Java 8에서 Java 11로 버전 업그레이드 😱 원인 Java 8 -> Java 9 버전업 시 해당 모듈이 제거됨 Java SE 9: JAXB API를 Java EE API로 간주해 기본
yeonyeon.tistory.com
'오류 > Spring' 카테고리의 다른 글
Javax.servlet.jsp.PageContext cannot be resolved to a type (0) | 2024.03.12 |
---|---|
[빈 생성 에러] Error creating bean with name 'XXX' (0) | 2024.03.12 |
Servlet.init() for servlet appServlet threw exception (0) | 2024.03.12 |
[Maven] validation-api 설정시 오류 (0) | 2024.03.11 |
[Pom] pom.xml에서 오류나는 jar (0) | 2024.03.11 |