0

我正在尝试从另一个 java 程序执行 java 编译文件,但我遇到了一些问题。

当我从终端运行命令时,java -cp ".:lib/MyLib.jar" javaFiles/g1/MyCompiledProgram我可以毫无问题地执行 MyCompiledProgram。

但是当我尝试使用以下方法从代码中执行相同的命令时:

Process process = Runtime.getRuntime().exec(String.format("java -cp  \".:%s\" javaFiles/g1/MyCompiledProgram",Path.of(PATH_MYLIB)));
String error = null;
process.waitFor();
if(process.exitValue() != 0){
    try(Scanner scanner = new Scanner(process.getErrorStream())){
        error = scanner.useDelimiter("\\A").next();
    }
    System.out.println(error);
}

我得到一个ClassNotFoundException错误。我检查了 java 用来执行命令的目录是否正确(运行 pwd 命令)并且它是正确的。

有谁知道为什么找不到课程?谢谢 :)

4

0 回答 0