gpt4 book ai didi

Java - NoClassDefFoundError

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:19:35 27 4
gpt4 key购买 nike

我需要编译一个外部 java 文件(比如 a.java)。这是我为此编写的代码。

(字符串路径包含java和class文件的路径)

    command[0] = "javac";
command[1] = path+"a.java";
p = Runtime.getRuntime().exec(command);

上面的代码似乎工作得很好。但是下面的代码

    command[0] = "java";
command[1] = "a";
command[2] = "-cp";
command[3] = "."+path+"a";
p = Runtime.getRuntime().exec(command);
stdInput = new BufferedReader(new InputStreamReader(p.getInputStream()));
stdError = new BufferedReader(new InputStreamReader(p.getErrorStream()));
while ((temp = stdInput.readLine()) != null) result += "\n" + temp;
while ((temp = stdError.readLine()) != null) result += "\n" + temp;

导致以下错误

java.lang.NoClassDefFoundError: a
Exception in thread "main"

有人可以解释这段代码的问题吗?谢谢!

最佳答案

您要首先 指定类名,然后是类路径的参数。类名总是最后出现在特定于程序的参数之前。因此,在您的情况下,类路径部分将被视为一个选项 - 它将被视为 Java 程序本身的两个参数(-cp 和路径) .

所以代替:

java a -cp (whatever)

你想要

java -cp (whatever) a

关于Java - NoClassDefFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14426864/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com