cuiyi's blog(崔毅 crazycy)

          記錄點滴 鑒往事之得失 以資于發展
          數據加載中……

          又是48,49JDK版本不兼容(Unsupported major.minor version 49.0)(系列一)

          非常感謝你的閱讀,如果你覺得好或者對你有幫助,請積極給一個留言反饋以示鼓勵。?

          隨著JDK版本的升級,尤其是JDK1.4升級到JDK5.0,在Java程序中我們往往會遭遇兩種尷尬:
          1 Unsupported major.minor version 49.0
          2 當前的版本是49.0,需要的是48.0(大概是這個意思)

          第一種情況在java應用程序、web應用程序都有遇到
          第二種情況我遇到的是表現在web應用程序中

          問題分析:
          48,49是Java編譯器內部的版本號,48表示是用JDK1.4來編譯運行程序的,49表示是用JDK編譯運行程序的

          問題解決:
          • 方法一
            • 方式:重新用JDK1.4編譯,并在JDK1.4的環境下(包括修改JAVA_HOME,PATH,CLASSPATH,Tomcat使用的JDK)運行;
            • 效果:java應用程序可行;Web應用程序失敗。
          • 方法二
            • 方式:采用JDK5.0編譯,并在JDK5.0下運行(包括修改JAVA_HOME,PATH,CLASSPATH,Tomcat使用的JDK)
            • 效果:java應用程序可行;Web應用程序可以。
          關于方法二的兩點特殊補充
          • 特殊說明一:
          如果采用了方式二,即JDK5.0,要求Tomcat版本必須不能低于5.5*。問題是如果我需要用低于5.5*版本的Tomcat怎么辦呢?
          答案就是:將JDK5.0的lib目錄下的tools.jar覆蓋 TOMCAT安裝目錄/common/lib下面的tools.jar,然后重啟TOMCAT5.0就可以了

          • 特殊說明二:
          如果你選擇的是Eclipse+MyEclipse開發環境,并且你選擇的是在Eclipse下啟動Tomcat,千萬記住,一定要在windows菜單preference選項彈出的perference對話框中,選擇MyEclipse--Application Server--Tomcat5---JDK指定JDK為5.0


          是不是搞定了IDE下的問題了呢?
          如果在Tomcat5.0系列下還有問題的話,請跟蹤系列二http://www.aygfsteel.com/crazycy/archive/2006/06/03/50150.html


          Thanks very much to visit blog,? welcome your feedback,? your feedback is the Driver && Power to me


          posted on 2006-05-31 13:26 crazycy 閱讀(13527) 評論(17)  編輯  收藏 所屬分類: JavaSE語言

          評論

          # re: 又是48,49JDK版本不兼容(Unsupported major.minor version 49.0)  回復  更多評論   

          這個問題我在第一次安裝jdk1.5.0beta的時候也碰到過,那時是因為系統里面的jdk/jre版本有好幾個,搞得tomcat動態編譯jsp的那個jdk出問題了(與編譯java源程序的那個jdk在版本和參數上都不同,但是我沒有在tomcat的jsp編譯參數設置中找到希望修改的那個參數)。當時找了半天,還是最后在ant里面預編譯jsp才搞定。
          后來在另外一臺機器上玩的時候,發現是jdk/jre的路徑問題。只要所有相關路徑一致,就不會出錯,但是只要有一個不對,就難說了,特別需要注意的是 widnows自己復制到system32下面的java,在多個版本的時候,這個java.exe的版本很容易出錯,有時候在安裝的時候不會自動覆蓋(可能是因為有java 程序在跑?)。或者在搜索路徑里面把正確版本的java的執行路徑放到system32前面,也可以解決這個問題

          而jdk1.5.0下面按source1.4編譯的文件,在jdk1.4.2下是能夠運行的,我現在的開發機用的是jdk5.0,而生產機跑的是tomcat5.0.x + jdk1.4.2.
          2006-05-31 14:22 | charon@xxx

          # re: 又是48,49JDK版本不兼容(Unsupported major.minor version 49.0)  回復  更多評論   

          呵呵;

          我在這個地方倒了兩次;第一次用了一個下午才搞定的;一直沒有搞清楚怎么可能報 49.0的錯誤

          第二次是因為MyE中是Tomcat5.0.28+JDK1.4;而這個地方在第一次也修改過;大意了,所以有了新的代價又是一下午,還卸載了JDK5.0;所以把慘痛經歷寫出來,也算一次分享
          2006-05-31 14:41 | cui's blog

          # re: 又是48,49JDK版本不兼容(Unsupported major.minor version 49.0)(系列一)  回復  更多評論   

          tomcat就是用ant那個編譯的吧
          2006-06-05 00:37 | 乾為天

          # re: 又是48,49JDK版本不兼容(Unsupported major.minor version 49.0)(系列一)  回復  更多評論   

          呵呵 tomcat和ant沒有關系吧~
          2006-06-05 14:52 | crazycy

          # re: 又是48,49JDK版本不兼容(Unsupported major.minor version 49.0)(系列一)  回復  更多評論   

          今天在配置運行環境時也出現了這個問題,原因是系統中有好幾個版本的JDK或者JRE,經查找JBoss用了Oracle帶的jdk1.42,所以出現類裝入時版本錯誤。
          解決方法:
          比如在啟動JBoss時,指定JDK5就可以了。
          自己編寫一個Start.bat,內容為:
          SET JAVA_HOME=C:\jdk1.5.0_05
          cd bin
          run.bat
          對于Tomcat,解決方法一樣
          2006-07-13 14:19 | hujianqiang

          # re: 又是48,49JDK版本不兼容(Unsupported major.minor version 49.0)(系列一)  回復  更多評論   

          其實方法一對于web應用程序也是好用的,只是web工程會在他的容器中保留jsp文件編譯后的臨時文件(如Tomcat會在work目錄下保存編譯后的class文件)刪除這些文件后重新編譯就應該可以了
          2006-11-20 16:40 | happyboy

          # re: 又是48,49JDK版本不兼容(Unsupported major.minor version 49.0)(系列一)  回復  更多評論   

          非常感謝作者!
          為這個我折騰了一天!
          總算好了!
          2007-04-09 16:23 | jingjing

          # re: 又是48,49JDK版本不兼容(Unsupported major.minor version 49.0)(系列一)  回復  更多評論   

          非常感謝作者!
          2007-10-04 13:49 | 阿里巴巴

          # re: 又是48,49JDK版本不兼容(Unsupported major.minor version 49.0)(系列一)  回復  更多評論   

          好多學java的還會發生這種問題,要是對虛擬機有了解的話就不會是問題了

          1. 要搞清的是哪個版本的JVM能執行什么版本的字節碼
          2. 什么版本的JDK會編譯成什么版本的字節碼
          3. 用二進制編輯器打開class文件便能看到major.minor
          4. 知道當前的JVM版本
          2007-12-03 12:27 | 隔葉黃鶯

          # re: 又是48,49JDK版本不兼容(Unsupported major.minor version 49.0)(系列一)  回復  更多評論   

          折騰了好久,只好在網上google呢,沒想一找就找到了這篇文章,還沒試能否解決,但先謝謝才說,應該沒問題了.
          2007-12-24 14:09 | 宇鷹

          # re: 又是48,49JDK版本不兼容(Unsupported major.minor version 49.0)(系列一)  回復  更多評論   

          頂一下
          2008-02-11 18:41 | HIHI

          # re: 又是48,49JDK版本不兼容(Unsupported major.minor version 49.0)(系列一)  回復  更多評論   

          good~
          2008-04-19 11:53 | Q

          # re: 又是48,49JDK版本不兼容(Unsupported major.minor version 49.0)(系列一)[未登錄]  回復  更多評論   

          good !
          thanks!
          2008-07-26 15:01 | free

          # re: 又是48,49JDK版本不兼容(Unsupported major.minor version 49.0)(系列一)  回復  更多評論   

          解決問題的文章,頂起!
          2009-09-24 11:04 | sabin541

          # re: 又是48,49JDK版本不兼容(Unsupported major.minor version 49.0)(系列一)  回復  更多評論   

          3ks
          2009-12-08 14:07 | O(∩_∩)O哈!

          # re: 又是48,49JDK版本不兼容(Unsupported major.minor version 49.0)(系列一)  回復  更多評論   

          正在測試,樓主辛苦啦
          2010-04-16 11:39 | 江湖

          # re: 又是48,49JDK版本不兼容(Unsupported major.minor version 49.0)(系列一)  回復  更多評論   

          哈哈 我搞定了 牛逼 謝謝 哥們分享了
          2011-11-08 12:24 | 菜鳥1號
          主站蜘蛛池模板: 皋兰县| 天镇县| 休宁县| 余庆县| 礼泉县| 海口市| 荥经县| 达孜县| 若羌县| 桐乡市| 蒲城县| 屏南县| 沐川县| 莱芜市| 湖南省| 莱西市| 襄城县| 阿图什市| 阿鲁科尔沁旗| 眉山市| 泰州市| 台湾省| 万盛区| 沐川县| 海晏县| 无为县| 连州市| 平武县| 辽阳县| 墨竹工卡县| 拉萨市| 松潘县| 隆回县| 六枝特区| 东台市| 炉霍县| 当阳市| 威信县| 和硕县| 万山特区| 措美县|