Java无法使用ProcessBuilder运行Exec Jar

Java无法使用ProcessBuilder运行Exec Jar,java,windows,io,executable-jar,processbuilder,Java,Windows,Io,Executable Jar,Processbuilder,我运行这些代码来运行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{

我运行这些代码来运行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

“exe jar的路径”
应该是
ProcessBuilder
的构造函数中的
“java”
。您不能执行路径。

ProcessBuilder
的构造函数中,exe jar的路径应为
“java”
。您无法执行路径。

转到命令行,尝试使用同一个命令,如果从命令行无法执行,则无法在代码中执行。为什么要使用整个Java JVM来启动另一个JVM是另一个谜。使用脚本。转到命令行,尝试使用相同的命令,如果命令行中的命令不起作用,代码中的命令也不起作用。为什么要使用整个Java JVM来启动另一个JVM是另一个谜。使用脚本。