隨着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的lib目錄下的tools.jar覆蓋 TOMCAT安裝目錄/common/lib下面的tools.jar,然後重啓TOMCAT5.0就可以了
- 特殊說明二:
是不是搞定了IDE下的問題了呢?
如果在Tomcat5.0系列下還有問題的話,請跟蹤系列二http://www.blogjava.net/crazycy/archive/2006/06/03/50150.html
倒黴的孩子,看過本系列的第一篇之後,你搞定了麼?!
估計有許多人依然不能;但是IDE環境中的絕對沒有問題;
可是離開IDE(JBuilder、Eclipse+MyEclipse),只在Tomcat下運行依然不行,是不是?!不要問是不是Tomcat5.0系列不支持JDK1.5,我在第一篇中已經告訴你怎麼幹了,可是爲啥還不行呢?!甚至有人安裝、卸載了好幾次JDK1.4 JDK1.5,可憐啊;抱一起哭吧;我也遇到了這個問題。
在搗鼓了一頓後,總結如下:
只在Tomcat下運行,但是依然出現“Unsupported major.minor version 49.0”,我搗鼓了大概120分鐘:
1. java -version 看顯示的JDK版本
2. 如果顯示版本是1.5,但還是不能運行,則必須驗證如下兩點:
* 是否按第一篇教給你的格式做了,(沒有的話,我則白白總結了,哎)
* 查看註冊表,修改註冊表HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft下的關於1.4的jre和jvm的路徑信息改爲1.5的jdk的即可。
估計還是不行。
爲啥?因爲你安裝Tomcat5.0系列時指定了JRE了啊,難道你以爲環境變量裏修改了就OK了麼?
不是這樣的。你進入Tomcat5.0的安裝目錄,bin下是不是有個tomcat5w.exe文件,你打開看看java標籤項
看到Java Virtual Machine這個選項是什麼了吧? 不是JDK1.5。
還等着幹什麼?! 修改,然後開始喝香檳慶祝鬱悶解除了吧