即使Jars在同一个文件夹中,Java NoClassDefFoundError也是如此

时间:2013-04-02 19:28:32

标签: java noclassdeffounderror

我创建了一个简单的Java程序(1个包含main()的java文件),并且我将所有Jar文件都包含在与.class文件相同的目录中。它给出了NoClassDefFoundError消息。

我已经尝试更新Classpath以指向目录,并且我还设置了“-cp”。建议它看起来与.class文件在同一目录中。但是,程序仍然说它找不到类def。

对我该做什么的任何想法?

3 个答案:

答案 0 :(得分:0)

添加文件夹告诉java在该文件夹中查找.class文件。 您不能通过文件夹名称引用.jar文件...每个.jar文件的路径必须明确列在CLASS_PATH上。

this question's answer may be useful

答案 1 :(得分:0)

当您尝试从命令行运行类时,通常会出现NoClassDefFound异常,这表示您的类路径有问题。

您已明确定义类路径。您可以通过几种方法来执行此操作,但是以下方法最不容易出错:

打开命令外壳并执行以下操作:

1。)set classpath = {类文件的路径}; {罐子的路径}

2。)java com.example.mainclass

注意:即使您的类路径和jar路径相同,也需要明确指定它们。

注意::如果您有多个罐子,请将它们放在一个文件夹中,说lib并将其添加到类路径中,例如:{path} / lib / *这将包括所有罐子,否则您将必须单独指定它们。

参考文献: https://javarevisited.blogspot.com/2011/01/how-classpath-work-in-java.html

答案 2 :(得分:-4)

导入以下软件包:

Import java.lang.NoClassDefFoundError;