본문 바로가기

IT

spring boot, jdk 9 이상에서 java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException 예외 발생

반응형

SpringBoot 기반, JDK 8 버전으로 개발을 하다가 JDK 11 버전으로 업데이트하고 난 이후, 제목과 같은 에러가 발생하며 실행이 중단되었다.

 

원인은 JAXB(java.xml.bind module) 에 대한 의존성을 더 이상 JDK 를 통하여 제공하지 않고 있어서이다.

 

해결 방법은 간단하다. 필요한 의존성을 주입해주면 된다.

 

gradle 기준

implementation 'org.glassfish.jaxb:jaxb-runtime'

maven 기준

<dependency>
    <groupId>org.glassfish.jaxb</groupId>
    <artifactId>jaxb-runtime</artifactId>
</dependency>

 

티스토리 코드 블럭이 태그를 표시하지 못하고 있네요;;

모바일은 괜찮은데, PC 화면에서만 문제가 발생해서 maven 기준 내용은 mavenrepository 링크로 대신합니다.

https://mvnrepository.com/artifact/org.glassfish.jaxb/jaxb-runtime

 

출처 : https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-with-Java-9-and-above#jaxb

반응형