我正在尝试从另一个 java 程序运行 java 类文件。
这是我的程序:
import java.io.File;
import java.io.IOException;
import java.lang.ProcessBuilder.Redirect;
public class RunJava {
public static void main(String[] args) throws IOException {
ProcessBuilder pb = new ProcessBuilder("java","HelloWorld");
pb.directory(new File("/home/local/prasanth-8508"));
pb.redirectOutput(Redirect.INHERIT);
pb.redirectError(Redirect.INHERIT);
pb.start();
}
}
运行此程序后,出现以下错误:
线程“main”中的异常 java.io.IOException:无法运行程序“java”
但是当我从我的终端运行任何 java 命令时,它们工作得非常好。
我发现的另一件事是,当我运行命令时:echo $PATH在我的终端中并使用 ProcessBuilder ( ProcessBuilder pb = new ProcessBuilder("bash","-c","echo $PATH");),它们显示不同的输出。即jdk/bin的路径没有显示在 ProcessBuilder 命令中。
我该如何解决这个问题?
汪汪一只猫
相关分类