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
감사합니다!