DOM4J的SAXReader reader方法中因路径包含中文报错
报错代码行
Document document = reader.read("/Users/caoyuankai/Documents/02模块二 JDBC&XML/02 任务二 (数据库连接池&DBUtils)/04_代码/xml_task03/src/com/lagou/xml03/user.xml");
报错提示
/Library/Java/JavaVirtualMachines/openjdk-14.0.1.jdk/Contents/Home/bin/java -ea -Didea.test.cyclic.buffer.size=1048576 -javaagent:/Applications/IntelliJ IDEA.app/Contents/lib/idea_rt.jar=56611:/Applications/IntelliJ IDEA.app/Contents/bin -Dfile.encoding=UTF-8 -classpath /Applications/IntelliJ IDEA.app/Contents/lib/idea_rt.jar:/Applications/IntelliJ IDEA.app/Contents/plugins/junit/lib/junit5-rt.jar:/Applications/IntelliJ IDEA.app/Contents/plugins/junit/lib/junit-rt.jar:/Users/caoyuankai/Documents/02模块二 JDBC&XML/02 任务二 (数据库连接池&DBUtils)/04_代码/jdbc_task02/out/production/xml_task03:/Users/caoyuankai/.m2/repository/junit/junit/4.12/junit-4.12.jar:/Users/caoyuankai/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar:/Users/caoyuankai/Documents/02模块二 JDBC&XML/01 任务一 (JDBC)/03_软件/myJar/dom4j-1.6.1.jar:/Users/caoyuankai/Documents/02模块二 JDBC&XML/01 任务一 (JDBC)/03_软件/myJar/druid-1.0.9.jar:/Users/caoyuankai/Documents/02模块二 JDBC&XML/01 任务一 (JDBC)/03_软件/myJar/c3p0-0.9.5.2.jar:/Users/caoyuankai/Documents/02模块二 JDBC&XML/01 任务一 (JDBC)/03_软件/myJar/commons-dbcp-1.4.jar:/Users/caoyuankai/Documents/02模块二 JDBC&XML/01 任务一 (JDBC)/03_软件/myJar/jaxen-1.1-beta-6.jar:/Users/caoyuankai/Documents/02模块二 JDBC&XML/01 任务一 (JDBC)/03_软件/myJar/commons-pool-1.5.6.jar:/Users/caoyuankai/Documents/02模块二 JDBC&XML/01 任务一 (JDBC)/03_软件/myJar/commons-dbutils-1.6.jar:/Users/caoyuankai/Documents/02模块二 JDBC&XML/01 任务一 (JDBC)/03_软件/myJar/mchange-commons-java-0.2.12.jar:/Users/caoyuankai/Documents/02模块二 JDBC&XML/01 任务一 (JDBC)/03_软件/myJar/mysql-connector-java-5.1.37-bin.jar com.intellij.rt.junit.JUnitStarter -ideVersion5 -junit4 com.lagou.xml03.TestDOM4j,test1 org.dom4j.DocumentException: no protocol: /Users/caoyuankai/Documents/02模块二 JDBC&XML/02 任务二 (数据库连接池&DBUtils)/04_代码/xml_task03/src/com/lagou/xml03/user.xml Nested exception: no protocol: /Users/caoyuankai/Documents/02模块二 JDBC&XML/02 任务二 (数据库连接池&DBUtils)/04_代码/xml_task03/src/com/lagou/xml03/user.xml at org.dom4j.io.SAXReader.read(SAXReader.java:484) at org.dom4j.io.SAXReader.read(SAXReader.java:321) at com.lagou.xml03.TestDOM4j.test1(TestDOM4j.java:21) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:564) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at org.junit.runner.JUnitCore.run(JUnitCore.java:137) at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69) at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33) at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:220) at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:53) Nested exception: java.net.MalformedURLException: no protocol: /Users/caoyuankai/Documents/02模块二 JDBC&XML/02 任务二 (数据库连接池&DBUtils)/04_代码/xml_task03/src/com/lagou/xml03/user.xml at java.base/java.net.URL.<init>(URL.java:672) at java.base/java.net.URL.<init>(URL.java:568) at java.base/java.net.URL.<init>(URL.java:515) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:649) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineDocVersion(XMLVersionDetector.java:150) at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:860) at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:824) at java.xml/com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141) at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1224) at java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:635) at org.dom4j.io.SAXReader.read(SAXReader.java:465) at org.dom4j.io.SAXReader.read(SAXReader.java:321) at com.lagou.xml03.TestDOM4j.test1(TestDOM4j.java:21) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:564) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at org.junit.runner.JUnitCore.run(JUnitCore.java:137) at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69) at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33) at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:220) at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:53) Process finished with exit code 255
根据报错第一句
org.dom4j.DocumentException: no protocol:
在网上查找原因,多为填写的不是路径信息,不符合我的报错原因
自己解决,把xml文件移动到纯英文路径文件夹里,成功


浙公网安备 33010602011771号