每日一得

          不求多得,只求一得 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 閱讀(587) 評論(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
          多多交流。  回復  更多評論
            

          主站蜘蛛池模板: 辽阳市| 榕江县| 延吉市| 虞城县| 沙雅县| 枝江市| 阜城县| 潜江市| 柏乡县| 绥宁县| 从江县| 西丰县| 丽水市| 彝良县| 南和县| 永康市| 色达县| 岑溪市| 潢川县| 山东省| 响水县| 四平市| 家居| 碌曲县| 梧州市| 开江县| 嘉祥县| 泸溪县| 垣曲县| 抚宁县| 师宗县| 福建省| 靖边县| 萍乡市| 米泉市| 泽州县| 金沙县| 天气| 拜泉县| 额敏县| 萝北县|