當我嘗試對我的計算機上運行一個在Eclipse Java程序,我得到這個錯誤:Eclipse的運行功能不工作:不受支持的版本MAJOR.MINOR
Exception in thread "main" java.lang.UnsupportedClassVersionError: gameLogics/Game : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:637)
at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
我在網上搜索,發現多種解決方案,但他們都只是說我試圖用Java的舊版本運行而不是編譯它。唯一的解決方案是重新下載Java或將Eclipse的合規性級別設置爲1.6,這兩者都不適合我。 (合規性級別沒有工作,因爲我使用了Java 7中僅有的一些功能。我之前使用過它,但它工作正常,但我需要Java 7的某些功能。)
奇怪的是,該項目完全適用於我其他計算機使用完全相同的文件,包括首選項文件和應用程序數據。如果我將它導出到任一臺計算機上,它也可以工作,所以只有Eclipse的運行功能似乎被破壞了。
我沒有提供任何代碼,因爲沒有單一的相關部分,所以我將不得不上傳我的所有代碼。
有沒有解決方案,這不是我在本文前面提到的那個?
編輯:如果重要的話,我的兩臺電腦都是Mac電腦。
您的Eclipse可能運行在較舊的已安裝Java版本上。你的系統上安裝了多少個jdk?檢查你的eclipse.ini,看看它正在使用什麼-vm參數。 – watery
你有沒有試過去項目>清潔,並從頭開始重建所有東西。也許BIN文件夾中的文件來自其他版本的JDK編譯的PC。也可以看看http://stackoverflow.com/questions/7237536/exception-in-thread-main-java-lang-unsupportedclassversionerror-a-unsupporte,因爲它可能是你的路徑。 –
那裏沒有-vm參數。以下是該文件的內容:[eclipse.ini](http://pastebin.com/NbHmrqj7)。 – Ontonator