今天將寫好的附件服務器的API發給同事
她引入我的jar後, 編譯就會報錯: 類文件具有錯誤的版本 50.0,應爲 49.0
50.0 對應的是JDK的1.6版本, 而49.0 對應的是JDK的1.5版本
也就是說我的jar的版本高於她所用的版本
由於我們實際部署在1.5之上, 所以我就來修改我的編譯環境
首先我先修改了Eclipse的編譯環境到1.5, 但是沒有效果
轉眼一想, 我都是使用Ant來打包發佈, 看來Ant是自己編譯的
於是我就在網上找到了修改Ant編譯版本的方法
最後完成了修改
寫個文字記錄下, 免得以後忘了= =
PS: 我發現很多人問如何查看class文件是什麼版本JDK編譯的, 現在我將方法寫在下面:
使用UtralEdit打開一個class文件.
根據java虛擬機的規範, java的class文件的前4個字節爲magic number(魔數), 0xCAFEBABE(下圖的第一行0 - 3列), 標識這個文件是java的class文件
而緊隨其後的4個字節, 存儲的就是該class文件的主次版本號(下圖的第一行的 4 - 7 列), 下圖中的31 換算成十進制就是49, 這標識此class文件爲JDK1.5編譯所得, 若32 就是JDK1.6編譯