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文件移动到纯英文路径文件夹里,成功

 

posted @ 2020-11-25 15:49  Autodiact  阅读(638)  评论(0)    收藏  举报