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