繁体   English   中英

eclipse java.lang.NoClassDefFoundError对于不存在的类

[英]eclipse java.lang.NoClassDefFoundError for nonexisting class

当我尝试编译我的项目时,出现此错误:

    java.lang.NoClassDefFoundError: me/hansolox1/tetris/test
Caused by: java.lang.ClassNotFoundException: me.hansolox1.tetris.test
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
Exception in thread "main" 

但是在将真实代码添加到项目之前,我删除了类me.hansolox1.tetris.test。 这是我第一次看到这样的错误...请帮助!

编辑:

我已删除测试类,但使用方法“ main”新建了类:

package me.hansolox1.tetris;

import org.newdawn.slick.AppGameContainer;
import org.newdawn.slick.GameContainer;
import org.newdawn.slick.SlickException;
import org.newdawn.slick.state.StateBasedGame;

public class tetris extends StateBasedGame {
    public static final int MAINMENU = 0;
    public static final int TETRIS = 1;

    public tetris(){
        super("Tetris!");
    }

    @Override
    public void initStatesList(GameContainer arg0) throws SlickException {
        this.addState(new MainMenu(MAINMENU));
        this.addState(new MainState(TETRIS));
    }
    public static void main(String[] args) throws SlickException{
        AppGameContainer app = new AppGameContainer(new tetris());

        app.setDisplayMode(800, 600, false);
        app.start();
    }
}

我正在使用slick2d引擎...

EDIT2:我也尝试过清理

  1. 转到项目的属性页面
  2. 转到运行/调试设置
  3. 如果在此处找到已删除的类,请再次将其删除。

这对我有用!

或者,您可以在eclipse命令行上尝试-clean选项。 这将清除存储的项目信息,包括哪些类受更改到另一个类的影响。

我的工作解决方案:

  1. 制作新项目
  2. 将所有文件从原始项目复制到新项目
  3. 测试新项目后删除旧项目

我知道这可能是最糟糕的解决方案,但它确实有效...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM