2012-05-25 52 views
0

我想知道爲什麼Game.class不會啓動。下面是他的問題,我有:運行.class文件時出錯

java.lang.NoClassDefFoundError: Game (wrong name: game/Game)` 

    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClass(Unknown Source) 
    at java.security.SecureClassLoader.defineClass(Unknown Source) 
    at java.net.URLClassLoader.defineClass(Unknown Source) 
    at java.net.URLClassLoader.access$100(Unknown Source) 
    at java.net.URLClassLoader$1.run(Unknown Source) 
    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) 
    at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source) 


Exception in thread "main" 
+0

它看起來像包裝的問題。你可以發佈.java文件的類定義和你的jar的結構嗎? – toniedzwiedz

+0

是什麼?我沒有game.java我只有game.class,我沒有運行它通過一個罐子,我只是運行它。 –

+0

'NoClassDefFoundError'意味着僅僅'Game.class'不足以運行這個類。您需要將它依賴的所有內容添加到classpath中。 – gigadot

回答

0

如果你mething這樣你會得到類似的錯誤:

package game; 

class Game 
{ 
    public static void main(String[] args) 
    { 
     System.out.println("Hello World!"); 
    } 
} 

沒有把編譯後的class文件中的子文件夾,名爲遊戲和像Java運行遊戲。所以你的遊戲類是一個叫做遊戲的包。

+0

你是什麼意思dragon66 –

+0

啊現在我得到它 –

+0

所以我把所需的類文件放在類文件中,然後運行它。唯一的一點是,當我反編譯game.class文件時,我發現了一個名爲game :)的文件夾。 –

0

請檢查您的包裝結構,並確保您的類文件位於包文件夾內。編譯和快樂執行....