我在通过控制台执行程序时遇到问题。它总是抛出 java.lang.NoClassDefFoundError 但如果我使用 netbeans 运行相同的应用程序,它会完美运行。我能做什么?
问问题
776 次
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 回答