e:java.io.IOException:无法运行程序“java -jar bg.jar”:CreateProcess error = 2,系统找不到文件

时间:2013-06-20 05:37:58

标签: java jar netbeans-7

我有一个名为bg.jar的jar文件,可以打印一些数字。我想从java程序中调用这个bg.jar。我用过这段代码

public class bg1 {
public static void main(String[] args) {
    try{
     //  Process ps = Runtime.getRuntime().exec("java -jar bg.jar");
      ProcessBuilder builder = new ProcessBuilder("java -jar bg.jar");
      Process process = builder.start();

    }catch(Exception e){
        System.out.println("e: "+ e.toString());
    }
  }
}

我在bg1项目的libraries文件夹中添加了bg.jar。但是当我运行bg1.class时它会给我这个错误:

e:java.io.IOException:无法运行程序“java -jar bg.jar”:CreateProcess error = 2,系统找不到指定的文件

如何从bg1.class

调用bg.jar

2 个答案:

答案 0 :(得分:1)

我认为找不到文件的错误是系统找不到“java”可执行文件。一种方法是将“java”目录路径添加到环境变量PATH。要查找变量,请右键单击“我的电脑”/高级系统设置/环境变量/系统变量。然后打开一个新的控制台,运行上面的Java程序。

替代方法可能是将jar文件加载到Java程序中。然后在Java代码中运行静态main方法。要动态加载java文件,请参阅How to load a jar file at runtime。可以通过解析jar文件中的META-INF / MANIFEST.MF文件找到包含main方法的类。

答案 1 :(得分:0)

ProcessBuilder builder = new ProcessBuilder(“java -jar bg.jar”);

空间在进程构建器命令中不起作用,我尝试使用逗号分隔的单词,并且它起作用。

对于命令“make macosx” -

这样的东西
  

ProcessBuilder builder = new ProcessBuilder(“make”,“macosx”);