기타

[에러] java.lang.ClassNotFoundException: javax.xml.bind.DatatypeConverter

joje* 2024. 12. 10. 17:25

상황: JWT 토큰을 생성하기 위해 Jwts.builder 객체에 헤더, 페이로드 값 그리고 서명에 사용할 비밀 키를 적용하는 상황에서 해당 에러가 발생하였다.

 

JDK 11 이후로 JAXB (Java Architecture for XML Binding)와 관련된 라이브러리를 직접 추가해야만 XML 데이터를 Java 객체로 변환하거나 그 반대 작업을 수행할 수 있다.

Jwt 토큰을 생성하기 위해서는 base64로 인코딩 된 데이터가 이용되는데 이를 처리하기 위해서는 JAXB의 javax.xml.bind.DatatypeConverter 클래스의 이용이 필요하다.

따라서 아래 라이브러리를 직접 추가해주어야 한다. 

 

- gradle 기준

implementation 'javax.xml.bind:jaxb-api:2.3.1'