问题描述
在使用springboot3+springsecurity6.0进行登陆验证时,出现如下错误java.lang.ClassNotFoundException: javax.xml.bind.DatatypeConverter

原因分析:
网上说是jdk版本太高导致
JAXB API是java EE 的API,因此在java SE 9.0 中不再包含这个 Jar 包。
java 9 中引入了模块的概念,默认情况下,Java SE中将不再包含java EE 的Jar包
而在 java 6/7 / 8 时关于这个API 都是捆绑在一起的
解决方案:
方案一:
降低直接的jdk版本
方案二:pom.xml中添加maven依赖
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.1</version>
</dependency>
在Springboot3配合Springsecurity6.0的环境中进行登陆验证时,由于java.lang.ClassNotFoundException:javax.xml.bind.DatatypeConverter错误,导致程序无法正常运行。此问题源于JAXBAPI在Java9及以上版本不再包含在标准版(SE)中。解决方法包括降级JDK版本或在项目pom.xml中添加JAXB的maven依赖项。

991

被折叠的 条评论
为什么被折叠?



