Java无法使用ProcessBuilder运行Exec Jar

时间:2017-10-12 23:23:43

标签: java windows io executable-jar processbuilder

我正在运行这些代码行来运行一个可执行jar的Test.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

1 个答案:

答案 0 :(得分:2)

"path to exe jar"的构造函数中,

"java"应为ProcessBuilder。你不能执行一条路径。