【发布时间】:2019-09-20 02:35:53
【问题描述】:
我的程序通过从当前目录读取xml文件来读取配置数据:
File fXmlFile = new File("configFile.xml");
它在 NetBeans IDE 中运行良好。我已经构建项目并获得了 jar 文件。如果我在 Windows 10 中双击它,它运行良好。如果我通过右键单击 jar 打开文件并且Open with -> Java 程序找不到配置文件。在这种情况下,我遇到了异常:
java.io.FileNotFoundException: C:\Windows\System32\configFile.xml (The system cannot find the file specified)
为什么它只查看系统路径而不是当前目录?在Open with -> Java case下运行时如何要求程序加载当前目录下的文件?
Jar 的清单文件:
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.10.4
Created-By: 12.0.1+12 (Oracle Corporation)
Class-Path: lib/log4j-api-2.11.2.jar lib/log4j-core-2.11.2.jar lib/met
ouia.jar lib/swt.jar
X-COMMENT: Main-Class will be added automatically by build
Main-Class: com.aaa.myprog.runMe
【问题讨论】:
-
配置文件驻留在哪里,相对于你的 jar 文件?
-
jar和配置文件在同一个目录