手打不易,如果转摘,请注明出处!
注明原文:https://blog.csdn.net/q258523454/article/details/145512328
dom4j报错
idea插件使用到了dom4j依赖,但是报错:
I will print the stack trace then carry on using the default SAX parser
Caught exception attempting to use SAX to load a SAX XMLReader
java.lang.ClassCastException: class org.apache.xerces.parsers.SAXParser cannot be cast to class org.xml.sax.XMLReader (org.apache.xerces.parsers.SAXParser is in unnamed module of loader com.intellij.util.lang.PathClassLoader @5ba23b66; org.xml.sax.XMLReader is in unnamed module of loader com.intellij.ide.plugins.cl.PluginClassLoader @63326c11)
I will print the stack trace then carry on using the default SAX parser
Caught exception attempting to use SAX to load a SAX XMLReader
java.lang.ClassCastException: class org.apache.xerces.parsers.SAXParser cannot be cast to class org.xml.sax.XMLReader (org.apache.xerces.parsers.SAXParser is in unnamed module of loader com.intellij.util.lang.PathClassLoader @5ba23b66; org.xml.sax.XMLReader is in unnamed module of loader com.intellij.ide.plugins.cl.PluginClassLoader @63326c11)
原因
这是因为依赖冲突了,IntelliJ IDEA 新版已经自带了
<dependency>
<groupId>xml-apis</groupId>
<artifactId>xml-apis</artifactId>
<version>xxx</version>
</dependency>
解决
我们只需要排除这个依赖即可
build.gradle 文件中添加(新版gradle):
configurations.configureEach {
exclude group: 'xml-apis', module: 'xml-apis'
}
或者(旧版本gradle)
configurations.all {
exclude group: 'xml-apis', module: 'xml-apis'
}
重新运行即可!