【问题标题】:java.lang.NoClassDefFoundError when using consolejava.lang.NoClassDefFoundError 使用控制台时
【发布时间】:2013-05-14 19:55:44
【问题描述】:

我在控制台执行程序时遇到问题。它总是抛出 java.lang.NoClassDefFoundError 但如果我使用 netbeans 运行相同的应用程序,它可以完美运行。我该怎么办?

【问题讨论】:

  • 你构建了你的应用程序了吗?
  • 你设置你的CLASSPATH了吗? IDE 会为你做这件事,但在这之外是你的责任。
  • 您需要将依赖项添加到类路径中,例如java -classpath ".;c:\project*" MyJavaProg

标签: java console noclassdeffounderror


【解决方案1】:

您可以通过在运行 Java 程序时提供选项“-cp”或“-classpath”来在 Java 中添加类路径。

在那里设置类路径,如下所示:

 Set CLASSPATH=.;/com/test/classes

 java -cp $CLASSPATH Test

默认情况下,Java CLASSPATH 指向用“.”表示的当前目录它只会在当前目录中查找任何类。

【讨论】:

  • 问题是我没有使用任何外部类。
  • @alessio 你能发布完整的堆栈跟踪吗?
【解决方案2】:

您的类路径设置不同,即当您从控制台运行相同的代码时,NetBeans 中类路径上的 jar 不在类路径上。

一个快速的代码 sn-p 输出你的类路径上的内容:

ClassLoader cl = ClassLoader.getSystemClassLoader();

URL[] urls = ((URLClassLoader)cl).getURLs();

for(URL url: urls){ System.out.println(url.getFile()); }

在控制台中,使用 -cp 选项添加必要的 jars。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-12-06
    • 2021-04-02
    • 2014-08-29
    • 1970-01-01
    • 2019-01-09
    • 2014-09-04
    • 2014-02-01
    相关资源
    最近更新 更多