今天在使用Jwt生成token的时候出现的错误,错误如下:
Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter
at io.jsonwebtoken.impl.Base64Codec.decode(Base64Codec.java:26)
at io.jsonwebtoken.impl.DefaultJwtBuilder.signWith(DefaultJwtBuilder.java:99)
at com.just1t.common.result.helper.JwtHelper.createToken(JwtHelper.java:26)
at com.just1t.common.result.helper.JwtHelper.main(JwtHelper.java:46)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.DatatypeConverter
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
... 4 more
通过百度,大概就是JDK1.6的JAXB版本是2.0.*或者2.1.*, JDK1.7之后就是2.2.××× 了,有些功能在1.7之后的JAXB中才能使用,
我用的17自然就没有了,
解决方法:
<!-- https://mvnrepository.com/artifact/javax.xml.bind/jaxb-api --> <dependency> <groupId>javax.xml.bind</groupId> <artifactId>jaxb-api</artifactId> <version>2.3.1</version> </dependency>
加入这个依赖就好了。
标签:xml,java,bind,DatatypeConverter,javax,JwtHelper From: https://www.cnblogs.com/just1t/p/16925894.html