java.lang.NoClassDefFoundError: org/w3c/dom/ElementTraversal问题解决

使用Maven构建项目并加载spring配置文件时,报如下异常

[java] view plain copy
 
  1. Caused by: java.lang.ClassNotFoundException: org.w3c.dom.ElementTraversal  
  2.     at java.net.URLClassLoader$1.run(URLClassLoader.java:366)  
  3.     at java.net.URLClassLoader$1.run(URLClassLoader.java:355)  
  4.     at java.security.AccessController.doPrivileged(Native Method)  
  5.     at java.net.URLClassLoader.findClass(URLClassLoader.java:354)  
  6.     at java.lang.ClassLoader.loadClass(ClassLoader.java:425)  
  7.     at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)  
  8.     at java.lang.ClassLoader.loadClass(ClassLoader.java:358)  
  9.     ... 63 more  

这个问题的解决方案很简单,将org.w3c.dom.ElementTraversal类所在的jar包加入maven依赖即可。

让人纳闷的是,怎么找这个类所在的jar包,单看包名org.w3c.dom让人有一种错觉,该包的groupid应该是类似org.w3c之类的,其实不然,和org.w3c没有半毛钱关系,解决方案如下,在pom依赖中加入:

[html] view plain copy
 
  1. <dependency>  
  2.             <groupId>xml-apis</groupId>  
  3.             <artifactId>xml-apis</artifactId>  
  4.             <version>1.4.01</version>  
  5.         </dependency>  

依赖即可。

原文地址:https://www.cnblogs.com/telwanggs/p/6878630.html