Java 是否可以使用ProcessBuilder运行外部.class文件?

Java 是否可以使用ProcessBuilder运行外部.class文件?,java,processbuilder,Java,Processbuilder,我正在尝试创建一个新进程,该进程运行我编写的另一个类文件,带有特定的VM参数。 我试图从我的Bin目录运行一个名为“Main2.class”的类文件(它有一个main方法),但是我得到了 java.io.IOException: Cannot run program "/Users/Dean_Leitersdorf/Documents/workspace/project/bin/packageA/Main2.class": error=13, Permission denied 我的守则如下:

我正在尝试创建一个新进程,该进程运行我编写的另一个类文件,带有特定的VM参数。 我试图从我的Bin目录运行一个名为“Main2.class”的类文件(它有一个main方法),但是我得到了

java.io.IOException: Cannot run program "/Users/Dean_Leitersdorf/Documents/workspace/project/bin/packageA/Main2.class": error=13, Permission denied
我的守则如下:

File f = new File("/Users/Dean_Leitersdorf/Documents/workspace/project/bin/packageA");
    ProcessBuilder builder = new ProcessBuilder(new String[]{f.getAbsolutePath() + "/Main2.class","-Xdebug", "-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=4000"});

Process process = builder.start();
这可能吗?如果是这样,我将非常感谢任何帮助,使它的工作

谢谢,


Dean

是的,您可以运行它,但必须使用java.exe调用它,就像您在命令行上所做的那样。

好!它是:ProcessBuilder=new ProcessBuilder(新字符串[]{“java.exe”,f.getAbsolutePath()+“Main2.class”、“-Xdebug”、“-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=4000”});获取错误:java.io.IOException:无法运行程序“java.exe”:错误=2,没有此类文件或directory@user3243080:java.exe是否在您的系统路径上?如何检查?--我在Mac电脑上(我知道如何在Windows上…),您需要设置ProcessBuilder环境,就像bash通过~/.bash_profile等为命令行所做的那样。这包括初始化$PATH环境变量。或者,您可以在Mac上使用/usr/bin/java。