[Error log] Spring Boot / JWT 생성 javax/xml/bind/DatatypeConverter 에러

Onam Kwon·2022년 11월 7일
0

Spring Boot DI / IoC

java.lang.ClassNotFoundException: javax.xml.bind.DatatypeConverter
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) ~[na:na]
	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) ~[na:na]
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[na:na]
	at io.jsonwebtoken.impl.Base64Codec.decode(Base64Codec.java:26) ~[jjwt-0.9.1.jar:0.9.1]
	at io.jsonwebtoken.impl.DefaultJwtBuilder.signWith(DefaultJwtBuilder.java:99) ~[jjwt-0.9.1.jar:0.9.1]
	at com.example.Spring.boot.project1.jwt.JwtTokenProvider.createToken(JwtTokenProvider.java:46) ~[classes/:na]
    ...
    ...
    ...
  • Spring Boot build.gradle을 이용해 JWT 토큰을 생성할 때 위와같은 에러가 발생하면서 토큰이 생성되지 않았다.
dependencies {
	implementation 'io.jsonwebtoken:jjwt:0.9.1'
}
  • 위의 디펜던시만 추가해주면 될줄 알았는데 찾아보니 아래와 같이 몇개를 더 추가해줘야 했다.
dependencies {
	implementation 'io.jsonwebtoken:jjwt:0.9.1'

	// com.sun.xml.bind
	implementation 'com.sun.xml.bind:jaxb-impl:4.0.1'
	implementation 'com.sun.xml.bind:jaxb-core:4.0.1'
	// javax.xml.bind
	implementation 'javax.xml.bind:jaxb-api:2.4.0-b180830.0359'
}
  • 위의 주석은 검색할때 복붙해서 검색하면 쉽게 찾을수 있음.
  • 위의 디펜던시를 추가해 준 뒤 JWT가 정상적으로 생성됐다.

References

profile
권오남 / Onam Kwon

1개의 댓글

comment-user-thumbnail
2023년 3월 22일

감사합니다!

답글 달기