若是你遇到了 Unsupported major.minor version ,請認真看一下,說不定會有幫助。
我花兩個小時總結的經驗,你可能10分鐘就獲得了。 ^**^java
1、錯誤現象:windows
當改變了jdk版本時,在編譯java時,會遇到Unsupported major.minor version錯誤。
錯誤信息以下 :eclipse
Unsupported major.minor version 50.0
Unsupported major.minor version 49.0 (我在jdk1.4 和1.5切換時就遇到了這個錯誤)
Unsupported major.minor version 48.0ui
2、錯誤緣由:.net
相似錯誤均屬於Java版本問題,即JDK版本太低,只要選擇相對應的JDK版本編譯便可。
48,49,50是Java編譯器內部的版本號:
Unsupported major.minor version 50.0 對應於 JDK1.6(JRE1.6)
Unsupported major.minor version 49.0 對應於 JDK1.5(JRE1.5)
Unsupported major.minor version 48.0 對應於 JDK1.4(JRE1.4)插件
3、出錯過程:調試
我先描述一下我出錯的過程,這樣方便你們解決問題。
我用的是eclipse,在windows下調試的,是從jkd1.4升級到1.5後出現了該錯誤。
我是這麼升級到1.5的:
(1)把在系統環境變量中把jdk的版本升級到了1.5,並在命令提示符下用 java -version 顯示了一下jdk版本,是1.5的。
(2)在eclipse中 Window -> Preferences -> Java -> Compiler 而後在右側窗口中,有個 Compiler compiance level: 就是指定jdk的版本,原來是1.4 ,如今選擇5.0也就是jdk1.5。肯定時彈出個對話框,提示改變了jdk版本,是否要馬上從新編譯。點yes。eclipse會從新編譯。【 圖 1 】ip
(3)Project -> Properties -> Java Compiler 右側窗口也有個 Compiler compiance level: 原來是1.4把它也改爲5.0的。也會彈出對話框,一樣選yes。【 圖 2 】開發
(4)寫了個Test類,執行是出現了錯誤:
java.lang.UnsupportedClassVersionError:
(Unsupported major.minor version 49.0)get
(5)我重啓eclipse問題依舊
至此,出錯過程描述完畢。
4、解決辦法:
僅僅按照網上說的設置JAVA_HOME 等方案是不能解決問題的。
下面是個人解決辦法:
既然環境變量中和eclipse中都設置了jdk1.5的版本,爲什麼還報錯呢。
確定是哪一個地方還有設置。
(1)Project -> Properties ->Java Build Path 右側窗口 -> Libraries 在列表裏顯示的居然仍是jdk1.4(是myEclipse5自帶的。) 。
(2)將jdk1.4相關條目選中,而後點右側按鈕 Remove ,將jdk1.4刪除。【 圖 3 】
(3)點右側 Add Library 彈出對話框,選中jdk1.5的條目,我這裏顯示的是 JRE System Library 而後點擊next。 【 圖 4 】
(4) 在第三步彈出的對話框上,激活 Alternate JRE 選項,並在下拉列表中,選擇 jdk1.5 而後點Finish。【 圖 5 】
(5)在第四步完成後,從Libraries 選項卡切換到 Order and Export 選項卡,並在jar列表中選中 JRE System Library[jdk1.5] 而後 點 ok完成設置。【 圖 6 】
(6)若是你的Eclipse設置成了自動編譯,應該就能夠了,不然從新編譯一下。
5、總結
根本緣由仍是開發環境中 jdk 環境變量的設置。
其實在我解決的過程當中還有個細節給我帶來了麻煩——就是我用了MyEclipse插件,它自帶個jdk1.4 因此若是你也安裝了myEclipse插件,最好別用myEclipse的jdk(它帶不少額外包,調試過程沒問題,結果發佈後會有少jar包的可能),要用本身安裝的。
我遇到的問題我解決了,不知你解決了沒有。