java.lang.NoClassDefFoundError: org/w3c/dom/ElementTraversal问题解决
使用Maven构建项目并加载spring配置文件时,报如下异常
- Caused by: java.lang.ClassNotFoundException: org.w3c.dom.ElementTraversal
- at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
- at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
- at java.security.AccessController.doPrivileged(Native Method)
- at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
- at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
- at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
- at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
- ... 63 more
这个问题的解决方案很简单,将org.w3c.dom.ElementTraversal类所在的jar包加入maven依赖即可。
让人纳闷的是,怎么找这个类所在的jar包,单看包名org.w3c.dom让人有一种错觉,该包的groupid应该是类似org.w3c之类的,其实不然,和org.w3c没有半毛钱关系,解决方案如下,在pom依赖中加入:
- <dependency>
- <groupId>xml-apis</groupId>
- <artifactId>xml-apis</artifactId>
- <version>1.4.01</version>
- </dependency>
依赖即可。