我有一个名为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答案 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”);