2012-07-10 57 views
0

當我嘗試編譯項目中,我得到這個錯誤:蝕java.lang.NoClassDefFoundError爲不存在的類

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我刪除了我加入真正的代碼項目beafore。 這是我第一次看到這樣的錯誤......請幫忙!

編輯:

我已刪除的測試類,但新類的方法 '主':

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:我也試過清理

+0

請發佈您的代碼(SSCCE),以便我們可以看到您正在嘗試執行的操作。 – 2012-07-10 16:13:40

+2

如果您在文件系統上刪除並且Eclipse沒有找到更改,您可以嘗試項目清理或刷新項目。 – JustinKSU 2012-07-10 16:14:11

回答

0

或者您可以在eclipse命令行上嘗試-clean選項。清理存儲的項目信息,包括哪些類受到對另一個類的更改的影響。

0

我工作的解決方案:

  1. 取得新項目
  2. 複製了原單項目中的所有文件到新的項目中測試新的一個

  • 已刪除舊的項目,我知道,這是可能是最糟糕的解決方案,但它的工作...

  • 1
    1. 轉到項目的屬性頁面
    2. 轉到運行/調試設置
    3. 如果您在那裏找到已刪除的類,請再次刪除它。

    這對我有用!