如何在Java中解决java.lang.NoClassDefFoundError

时间:2015-08-20 07:26:36

标签: java

我正在尝试编译我的SPM项目,然后显示消息说"内存不足"。 所以我的netbeans(8.0)项目保存在Documents,NetBeans Projects Folder中。所以我在那里删除了一些不需要的项目。之后我尝试编译我的项目然后显示了这条错误信息,请给我一个帮助来解决这个问题。整个错误消息如下所示,

java.lang.NoClassDefFoundError: spm_project/Nonacademic
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
    at java.lang.Class.privateGetMethodRecursive(Class.java:3048)
    at java.lang.Class.getMethod0(Class.java:3018)
    at java.lang.Class.getMethod(Class.java:1784)
    at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:544)   at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:544)
    at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:526)
Caused by: java.lang.ClassNotFoundException: spm_project.Nonacademic
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 7 more
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" Java Result: 1
BUILD SUCCESSFUL (total time: 1 second)

1 个答案:

答案 0 :(得分:4)

对于此错误保持一些重要性:

  1. 当您的代码依赖于类文件并且它在编译时出现但在运行时未找到时,会导致这种情况。查找构建时和运行时类路径的差异。
  2. 此异常表示在类路径中找不到该类。这表明我们正在尝试加载类定义,并且该类在类路径中不存在。