每日一得

          不求多得,只求一得 about java,hibernate,spring,design,database,Ror,ruby,快速開發
          最近關心的內容:SSH,seam,flex,敏捷,TDD
          本站的官方站點是:顛覆軟件

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            220 隨筆 :: 9 文章 :: 421 評論 :: 0 Trackbacks
          key words:jdk錯誤,Unsupported major.minor version

          今天用一個工作流的產品,非要用jdk1.4的版本,沒辦法,只好切換回來,但是換回來后打開頁面jsp出錯,提示Unsupported major.minor version 49.0錯誤,到網上查了一下,49.0錯誤屬于jdk1.5的錯誤,但是我的jdk1.5已經刪除了啊?怎么回事呢?

          最后想起來,可能是jboss中的1.5 版本產生臨時文件class文件刪除,刪除后OK


          資料:Unsupported major.minor version 49.0
          posted on 2006-11-08 10:13 Alex 閱讀(578) 評論(2)  編輯  收藏 所屬分類: java

          評論

          # re: Unsupported major.minor version 49.0錯誤 2007-05-13 20:54 隔夜黃鶯
          如果你看過java虛擬機規范,你就很容易理解 major.minor version是什么,那是字節碼的主次版本好,jdk1.5默認編譯出來的是49.0,也就是31 00
          jdk1.4編譯出來的是48.0,也就是30 00
          版本為49.0的字節碼放在1.4的JVM中將無法裝載

          用二進制編輯器,如ultraedit打開java class文件,第五至第七個字節就是此版本號和主版本號,如jdk1.5編譯器編譯出來的class文件的頭八個字節是

          CA FE BA BE 00 00 00 31 版本好是49.0
          同時注意到沒有 頭四個字節好像有點意義,對,他是java字節碼的魔數 magic number,是一種咖啡的名字 cafe babe,它表明那是個java的字節碼

          如果用jdk1.5的編譯器 javac,用參數 -target 1.4 可以制定編譯出的目標代碼能在jvm1.4下運行,也就是版本為48.0的class
          CA FE BA BE 00 00 00 31

          知其然,知其所以然  回復  更多評論
            

          # re: Unsupported major.minor version 49.0錯誤 2007-05-13 20:56 隔夜黃鶯
          建議看看JVM規范,理解字節碼操作
          歡迎訪問我的博客 http://unmi.blogcn.com
          多多交流。  回復  更多評論
            

          主站蜘蛛池模板: 广丰县| 永吉县| 中西区| 汨罗市| 林州市| 唐河县| 绥滨县| 仁布县| 丁青县| 盘锦市| 通河县| 泾川县| 登封市| 呼和浩特市| 桦川县| 江口县| 闽清县| 从化市| 雅安市| 屯门区| 盘山县| 奇台县| 唐山市| 九龙城区| 石嘴山市| 门源| 弥勒县| 雅江县| 新邵县| 休宁县| 龙陵县| 汝阳县| 庆阳市| 应城市| 承德县| 赣州市| 中江县| 图木舒克市| 黄平县| 教育| 长汀县|