【发布时间】:2018-03-25 00:33:04
【问题描述】:
我正在运行这行代码来运行一个 Test.jar,它是一个可执行的 jar
public static void main(String[] args) throws IOException{
File f = new File("path to exe jar");
if(f.exists() && !f.isDirectory()) {
System.out.println("Valid");
}else{
System.out.println("Invalid");
}
ProcessBuilder pb =
new ProcessBuilder("path to exec jar", "-jar", "Test.jar",
"args1","args2","args3","args4");
pb.directory(new File("path to exec jar"));
Process p = pb.start();
}
而且我不断收到此错误: 文件是有效的,所以我认为这可能是访问问题。我需要添加什么才能获得所需的访问权限?
Valid
Exception in thread "main" java.io.IOException: Cannot run program "abc" (in directory "abc"): CreateProcess error=5, Access is denied
【问题讨论】:
-
放到命令行并尝试使用相同的命令,如果在命令行中不起作用,则在代码中也不起作用
-
为什么要使用整个 Java JVM 来启动另一个 JVM 是另一个谜。使用脚本。
标签: java windows io executable-jar processbuilder