繁体   English   中英

如何解决 java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter Java 11

[英]How to resolve java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter Java 11

我有一个 API 接收 JWT 授权令牌。

一旦它开始使用令牌进行身份验证的过程,它就会抛出这个错误: Handler dispatch failed; nested exception is java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter Handler dispatch failed; nested exception is java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter

我在 Java 11 中读到,他们从 JDK 中删除了 java.xml.bind 库。 我按照答案中的建议添加了这两个依赖项: implementation "jakarta.xml.bind:jakarta.xml.bind-api:3.0.0"implementation "org.glassfish.jaxb:jaxb-runtime:3.0.0"

还尝试implementation "jakarta.xml.bind:jakarta.xml.bind-api:3.0.0"implementation 'com.sun.xml.bind:jaxb-impl:3.0.0'

但我仍然遇到同样的错误,我找不到任何其他解决方案。

我使用 Java 11 和 Spring 启动 2.6.6。

谢谢您的帮助

使用这些依赖项的 2.x 版。 在版本 3.x 中,前导前缀javax被替换为jakarta 其他 Java EE / Jakarta EE API 也发生了同样的情况。

我通过删除旧的 jjwt 0.9.1 并添加这些来解决这个问题

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM