使用控制台时java.lang.NoClassDefFoundError

时间:2013-05-14 19:55:45

标签: java console noclassdeffounderror

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

2 个答案:

答案 0 :(得分:0)

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

在那里设置classpath,如下所示:

 Set CLASSPATH=.;/com/test/classes

 java -cp $CLASSPATH Test

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

答案 1 :(得分:0)

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

快速代码段,输出类路径中的内容:

ClassLoader cl = ClassLoader.getSystemClassLoader();

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

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

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