我收到NoClassError,我不知道是什么导致它。我是java的新手。任何帮助将不胜感激!
Exception in thread "main" java.lang.NoClassDefFoundError: arrayList/ArrayListStrings
Caused by: java.lang.ClassNotFoundException: arrayList.ArrayListStrings
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
package arrayList;
import java.util.ArrayList;
public class ArrayListStrings {
public static void main(String[]args){
ArrayList<String> stringList = new ArrayList<>();
stringList.add("94043");
stringList.add("95043");
stringList.add("96043");
stringList.add("94043");
stringList.set(0,"98043");
for (String value : stringList){
System.out.println(value);
}
}
}
答案 0 :(得分:0)
通过指定完全分类的名称来运行程序。它有效!
java arrayList.ArrayListStrings
如果没有指定包名,如果你运行它,它将抛出 NoClassDefFoundError 。
答案 1 :(得分:0)
粘贴代码并在IDE上运行它不会产生任何错误,因此可能是您在类中调用main方法的方式。
虽然java中的包和文件夹是相同的,但声明包会创建一个逻辑树,从中分层访问类。因此,在存储包(目录)arrayList的终端中运行:
java arrayList.ArrayListStrings
或者,如果要从存储.class的目录运行,请使用-classpath(或-cp)选项手动更改类路径(java可以找到类的路径):
java -classpath .. arrayList.ArrayListStrings