티스토리 뷰

IT/(경험)문제해결

JWT 토큰 발급 javax.xml.bind.DatatypeConverter 해결 방법 (JJWT)

주인장 진빼이

토큰 발급 시,  아래와 같은 오류가 발생했다.

계속해서 오류로 인해 토큰이 발급되지 않았다. 정확한 오류명도 나오지 않았고

그저 signWith 함수에서 DatatypeConverter 오류로 프로그램이 중단된 것을 확인할 수 있다.

java.lang.ClassNotFoundException: javax.xml.bind.DatatypeConverter

 

왜 오류가 발생했을까 ?

사용했던 jjwt 라이브러리 버전은 0.9.1이다.

메이븐레포지토리 사이트에 가서 보아도 0.9.1의 사용량은 다른 버전보다 많다.

즉, 주요 버전이 0.9.1인 것이다.

 

라이브러리 개발자에 따르면 JDK11을 지원하지 않아 오류가 발생한 것이었다.

스프링부트 3.0부터 최소 JDK버전이 11이다.

 

해결방법

JDK11 이상 사용하는 경우

jjwt를 0.9.1 을 사용하는 것이 아니라 0.10.0 이상의 버전을 사용하는 것이다.

0.10.0부터 JDK 11을 포함하여 모든 JDK 버전에 대해 지원하고 있다.

JJWT 0.10.0 release note

This is a fairly large feature enhancement release that enables the following:

 

주인장은 jjwt 라이브러리의 버전을 0.11.5로 업데이트했다.

jwwt-impl, jjwt-jackson 라이브러리는 필수이다.

    compileOnly 'io.jsonwebtoken:jjwt-api:0.11.5';
    implementation 'io.jsonwebtoken:jjwt-impl:0.11.5';
    implementation 'io.jsonwebtoken:jjwt-jackson:0.11.5'

 

참고: https://github.com/jwtk/jjwt/issues/510

 

댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함