Java8升级到17之后, 启动报错, :LocalValidatorFactoryBean]: Factory method 'defaultValidator' threw exception; nested exception is java.lang.NoClassDefFoundError: javax/xml/bind/ValidationException
报错原因: 这个错误通常是由于缺少 javax.xml.bind
相关的依赖引起的。在 Java 9 及以上版本中,javax.xml.bind
模块已经从 JDK 中移除,因此需要手动添加依赖。
解决方法
-
最简单的方法, 把jdk改成Java8
添加 javax.xml.bind
依赖
在你的 pom.xml
文件中添加以下依赖
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.1</version>
</dependency>
如果你使用的是 Java 11 或更高版本,还需要添加以下依赖:
<dependency>
<groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-runtime</artifactId>
<version>2.3.1</version>
</dependency>
搞定