[Java/자바] ClassNotFoundException javax.xml.bind.JAXBException 에러 해결

자바 환경에서 개발을 하다보면, JDK 버전을 변경하는 경우가 생기기도합니다. 이유는 다양하겠지만 아무래도 사용하고자하는 라이브러리가 특정 버전 이상의 JDK에서만 동작하는 경우, 언어 스타일의 변화로 좀 더 스타일리쉬한 코딩을 하고 싶은 경우가 있을 것 같습니다.

이 번 글에서 소개해드릴 에러는 ClassNotFoundException javax.xml.bind.JAXBException 입니다.

ClassNotFoundException javax.xml.bind.JAXBException

이 에러는 간단하지만 JDK를 버전을 변경하면서 가장 많이 발생하는 에러입니다. 직역을 해보자면, javax.xml.bind.JAXBException라는 예외 클래스를 찾지 못했다라는 내용입니다.

발생 원인

왜 JDK 버전 업을 하면서 이 모듈을 제거했는지 이유는 잘 모르겠지만, JDK8에서 JDK9으로 버전이 올라가면서 몇 가지 모듈이 제외되었습니다.

java.activation
java.corba
java.transaction
java.xml.bind
java.xml.ws
java.xml.ws.annotation

JDK9 부터 위와 같이 제외된 모듈들이 있기 때문에 클래스를 찾기 못해 발생하는 에러입니다.

image

자세한 내용은 아래 링크를 통해서 확인 가능합니다.

해결 방법

해결하는 방법은 굉장히 간단합니다. 제외된 모듈을 직접 의존성 추가해주시면 됩니다.

implementation("javax.xml.bind:jaxb-api")

위 링크를 통해서 maven, gradle 중에 원하는 의존성 코드를 복사해서, 코드를 넣어주세요.

맺음

간단하게 ClassNotFoundException javax.xml.bind.JAXBException 에러에 대해서 소개해드렸습니다.

혹시 궁금하신 점이나 이상한 점은 댓글로 남겨주시면 감사하겠습니다.

Buy me a coffee
글이 도움이 되셨다면, 커피 한 잔만 사주세요!
Comments
Copied to clipboard