2011-12-08 74 views
1

今天我編寫了一個小遊戲,我通過Eclipse將其編譯成了一個jar文件 - 我確定它是一個可執行jar或可運行jar或無論你想要打電話給它。Jar無法在不同的計算機上打開(「無法找到主類」)

我把罐子發給了我的一個朋友,但奇怪的是他無法打開它。 他總是收到「無法找到主類」錯誤,不應該彈出,因爲它完全適合我。我已經使用Google搜索,但無法找到答案。

如果你有興趣,你可以在這裏看看,它是否適合你: http://www.file-upload.net/download-3939961/WidzDeluxe.jar.html

現在我的問題是怎麼樣的明顯我猜,是錯誤只對他還是你都有同樣的問題?這是什麼原因?

如果有人願意,我也會上傳代碼。

回答

1

您已經編譯了此jar包內的類文件,其中包含不同(更高版本)的Java。推測是Java 1.7,你的朋友正試圖用Java 1.6打開它。

這裏是我在嘗試與Java 1.6.0_21打開可執行的JAR文件的堆棧跟蹤:

Exception in thread "main" java.lang.UnsupportedClassVersionError: NewJFrame : Unsupported major.min 
or version 51.0 
     at java.lang.ClassLoader.defineClass1(Native Method) 
     at java.lang.ClassLoader.defineClassCond(Unknown Source) 
     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$000(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) 
Could not find the main class: NewJFrame. Program will exit. 

一個可能的解決方案,來我明將設置合規水平,比方說6.0 Eclipse中的Java編譯器設置。這應該是訣竅。

0

我有這個相同的問題,發現我正在編譯Java 1.7的程序。最後,我在所有運行它的計算機上更新了Java,並且運行得非常好。

相關問題