0

我在通过控制台执行程序时遇到问题。它总是抛出 java.lang.NoClassDefFoundError 但如果我使用 netbeans 运行相同的应用程序,它会完美运行。我能做什么?

4

2 回答 2

0

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

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

 Set CLASSPATH=.;/com/test/classes

 java -cp $CLASSPATH Test

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

于 2013-05-14T20:05:08.240 回答
0

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

一个快速的代码片段,它输出你的类路径上的内容:

ClassLoader cl = ClassLoader.getSystemClassLoader();

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

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

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

于 2013-05-14T20:05:16.473 回答