【发布时间】:2015-01-23 08:03:44
【问题描述】:
我正在尝试在我的项目的resources 文件夹中运行一个可执行的 jar。如果我将 jar 放在文件系统的任何目录中并提供绝对路径,它就可以正常工作。
请看下面的代码:
String jarPath = "C:\\JarFolder\\myJar.jar";
String command = "java -jar";
String space = " ";
String params = "-a abc";
try {
proc = Runtime
.getRuntime()
.exec(command + space + jarPath + space + params);
} catch (IOException e) {
e.printStackTrace();
}
但是当我将 jar 放在 resources 文件夹中,并将相对 jar 路径设置为:
String jarPath = "..\\..\\..\\resources\\myJar.jar";
我收到一个错误:Error: Unable to access jarfile ..\\..\\..\\resources\\myJar.jar
我已经验证了路径,它是有效的。 我在这里做错了吗?这是正确的方法吗?
【问题讨论】:
-
调用时会得到什么:Runtime .getRuntime() .exec("cmd /c dir ..\\..\\..\\resources");我> ?
-
您在 Windows 虚拟文件夹之一中吗?用户的
Documents或类似名称。它们可能会导致命令行出现问题 -
>> 驱动器 D 中的卷是新卷 >> 卷序列号是 92A4-BDF7 >> >> D:\Software\eclipse 目录 >> >>找不到文件`
-
你可以尝试用命令行访问它吗?
-
由于(来自@agad 提出的 cmd 测试)您似乎正在搜索文件夹
D:\Software\eclipse,请仔细检查您是否有文件夹D:\Software\eclipse\resources并且它包含正确的非空文件 @ 987654329@
标签: java jar executable-jar