Caused by java.lang.ClassNotFoundException javax.xml.bind.ValidationException异常

一、问题描述

Caused by: java.lang.NoClassDefFoundError: javax/xml/bind/ValidationException
at java.base/java.lang.ClassLoader.defineClass1(Native Method) ~[na:na]
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1009) ~[na:na]
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174) ~[na:na]
at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:801) ~[na:na]
at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:699) ~[na:na]
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:622) ~[na:na]
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:580) ~[na:na]
at java.base/jdk.internal.loader.ClassLoaders A p p C l a s s L o a d e r . l o a d C l a s s ( C l a s s L o a d e r s . j a v a : 190 )   [ n a : n a ] a t j a v a . b a s e / j a v a . l a n g . C l a s s L o a d e r . l o a d C l a s s ( C l a s s L o a d e r . j a v a : 499 )   [ n a : n a ] a t o r g . h i b e r n a t e . v a l i d a t o r . i n t e r n a l . e n g i n e . C o n f i g u r a t i o n I m p l . < i n i t > ( C o n f i g u r a t i o n I m p l . j a v a : 129 )   [ h i b e r n a t e − v a l i d a t o r − ∗ ∗ C a u s e d b y : j a v a . l a n g . C l a s s N o t F o u n d E x c e p t i o n : j a v a x . x m l . b i n d . V a l i d a t i o n E x c e p t i o n ∗ ∗ a t j a v a . b a s e / j d k . i n t e r n a l . l o a d e r . B u i l t i n C l a s s L o a d e r . l o a d C l a s s ( B u i l t i n C l a s s L o a d e r . j a v a : 582 )   [ n a : n a ] a t j a v a . b a s e / j d k . i n t e r n a l . l o a d e r . C l a s s L o a d e r s AppClassLoader.loadClass(ClassLoaders.java:190) ~[na:na] at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:499) ~[na:na] at org.hibernate.validator.internal.engine.ConfigurationImpl.<init>(ConfigurationImpl.java:129) ~[hibernate-validator- **Caused by: java.lang.ClassNotFoundException: javax.xml.bind.ValidationException** at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582) ~[na:na] at java.base/jdk.internal.loader.ClassLoaders AppClassLoader.loadClass(ClassLoaders.java:190) [na:na]atjava.base/java.lang.ClassLoader.loadClass(ClassLoader.java:499) [na:na]atorg.hibernate.validator.internal.engine.ConfigurationImpl.<init>(ConfigurationImpl.java:129) [hibernatevalidatorCausedby:java.lang.ClassNotFoundException:javax.xml.bind.ValidationExceptionatjava.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582) [na:na]atjava.base/jdk.internal.loader.ClassLoadersAppClassLoader.loadClass(ClassLoaders.java:190) ~[na:na]
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:499) ~[na:na]

二、问题分析

JAXB API是java EE 的API,因此在java SE 9.0 中不再包含这个 Jar 包。
java 9 中引入了模块的概念,默认情况下,Java SE中将不再包含java EE 的Jar包
而在 java 6/7 / 8 时关于这个API 都是捆绑在一起的

三、解决方案

引入下面依赖即可

jaxb-api maven地址:http://mvnrepository.com/artifact/javax.xml.bind/jaxb-api

jaxb-impl maven地址:http://mvnrepository.com/artifact/com.sun.xml.bind/jaxb-impl

jaxb-core maven地址:http://mvnrepository.com/artifact/com.sun.xml.bind/jaxb-core

activation maven地址:http://mvnrepository.com/artifact/javax.activation/activation

<dependency>
     <groupId>javax.xml.bind</groupId>
     <artifactId>jaxb-api</artifactId>
     <version>2.3.0</version>
 </dependency>
 <dependency>
     <groupId>com.sun.xml.bind</groupId>
     <artifactId>jaxb-impl</artifactId>
     <version>2.3.0</version>
 </dependency>
 <dependency>
     <groupId>com.sun.xml.bind</groupId>
     <artifactId>jaxb-core</artifactId>
     <version>2.3.0</version>
 </dependency>
 <dependency>
     <groupId>javax.activation</groupId>
     <artifactId>activation</artifactId>
     <version>1.1.1</version>
 </dependency>

如果加入依赖之后,还是出现这样的问题的话,可能是你的工程没有更新,重新build一下,然后把artifacts的工程删除后,再加载一下就好了!

参考:https://blog.csdn.net/simba1949/article/details/79899431

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hello-java-maker

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值