인프런 커뮤니티 질문&답변

junho86님의 프로필 이미지

작성한 질문수

Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)

Users Microservice - 테스트

java.lang.NoClassDefFoundError: Could not initialize class javax.xml.bind.DatatypeConverterImpl 에러 대처법

작성

·

2.8K

12

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
private boolean isJwtValid(String jwt) {
boolean returnValue = true;
String subject = null;
try {
subject = Jwts.parser().setSigningKey(env.getProperty("token.secret"))
.parseClaimsJws(jwt).getBody()
.getSubject();
}catch (Exception ex){
returnValue = false;
}
if(subject==null || subject.isEmpty()){
returnValue = false;
}

return returnValue;
}
 
이부분에서 디버깅을 따라가던중 getBody() 메서드에서 오류가 발생하는것을 발견 하였습니다.
java.lang.NoClassDefFoundError: Could not initialize class javax.xml.bind.DatatypeConverterImpl
이러한 오류가 발생하였을때 pom.xml에
<dependency>
	<groupId>javax.xml.bind</groupId>
	<artifactId>jaxb-api</artifactId>
    <version>2.1</version>
</dependency>

 해당 종속성을 추가해주게 되면 해결됩니다. 혹시 저같은 오류가 발생하신 분들에게 도움이 되었으면 좋겠습니다~!

음 뒷강의에서.... 바로 추가해주시는군요 ...ㅎㄷㄷ....
 

답변 6

2

자바11부터 해당 모듈이 아예 사라졌다고 합니다.

https://luvstudy.tistory.com/61

스프링 부트 공식에서는 다른 대체 모듈을 권장하고있습니다.
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-with-Java-9-and-above

<dependency>

    <groupId>org.glassfish.jaxb</groupId>

    <artifactId>jaxb-runtime</artifactId>

</dependency>

 

1

와 진짜 너무 감사합니다 ㅋㅋㅋㅋㅋㅋㅋ 

1

Dowon Lee님의 프로필 이미지
Dowon Lee
지식공유자

안녕하세요, 이도원입니다. 

자료 공유 감사드립니다! 다음번 강의 업데이트에도 반영하도록 하겠습니다. 

0

감사합니다 ㅎㅎㅎㅎㅎ

0

감사합니다!!!!

0

덕분에 해결하였네요 감사합니다 b^^d

junho86님의 프로필 이미지

작성한 질문수

질문하기