java.lang.NoClassDefFoundError /无法找到或加载主类

时间:2015-09-06 10:07:57

标签: java jar

我有" prog.java"使用lib.jar

的main方法的文件

根文件夹:

  • prog.java
  • lib.jar

我这样做: javac -cp lib.jar prog.java

现在我的根文件夹: 根文件夹:

  • prog.java
  • lib.jar
  • prog.class
  • PROG $ 1.class

现在我尝试运行我的程序:

java -cp lib.jar prog

我得到:

Error: Could not find or load main class Prog

如果我这样做:

java prog

我得到:

Exception in thread "main" java.lang.NoClassDefFoundError

请帮忙!

2 个答案:

答案 0 :(得分:2)

java -cp .:lib.jar prog

注意点。还要确保您的文件名与类名匹配。最后,如果你让类名和文件名都以大写字母(约定)开头,那就更好了。

答案 1 :(得分:0)

您还需要将.class文件添加到类路径中。为此,您应该添加包含已编译类的“root”文件夹。由于看起来您的prog类位于未命名的包中,只需将类路径设置为lib.jar:.(Linux上的类路径分隔符:)或lib.jar;.(类路径分隔符{{1在Windows上)。点;表示当前目录,在您的情况下包含已编译的.文件。

Read more about setting the classpath

NB。 - 最好将Java类放在named package