http://boredtime.blog.163.com/blog/static/80530351200911160593691/

JDK版本升级问题

2009-12-16 12:59:36|  分类:jsp|举报|字号订阅

     最近将手上的项目的jdk1.4升级到1.5的时候,出现了一堆的问题,经过不懈的努力和网上朋友的提示终于将问题解决了,现在记录如下
1.java.lang.UnsupportedClassVersionError: com/mdcchina/userinfo/logic/UserManager (Unsupported major.minor version 49.0)提示如上的错误,很是郁闷
经过研究和比较在两个不同环境下的编译运行,终于发现这个主要是由于我的机子上安装了两个不同版本的JDK导致的,我想很多的朋友在尝试新的JDK的时候,可能不会删除1.4的版本,但是要注意的是要将JAVA_HOME,CLASS_PATH,PATH等等的环境变量都修改成相关的JDK1.5的目录下面去,因为1.5相对于以前的版本的变化比较大.
2.上面的问题排除后,在运行TOMCAT5.0时候由出现了如下的错误:
2005-11-17 19:38:47 StandardWrapperValve[action]: Servlet.service() for servlet action threw exception
org.apache.jasper.JasperException: Unable to compile class for JSP

Generated servlet error:
C:\application\Tomcat 5.0\work\Catalina\localhost\mlinkweb\org\apache\jsp\layouts\layout_005findex_jsp.java:7: cannot access java.lang.Object


Generated servlet error:
bad class file: C:\application\Java\jdk1.5.0\jre\lib\rt.jar(java/lang/Object.class)
class file has wrong version 49.0, should be 48.0
Please remove or make sure it appears in the correct subdirectory of the classpath.
public final class layout_005findex_jsp extends org.apache.jasper.runtime.HttpJspBase
            ^
1 error

 解决办法:只要将JDK1.5的LIB下面的TOOLS.JAR覆盖TOMCAT5.0目录/common/lib下面的tools.jar,然后重启TOMCAT5.0就可以了

  以上内容摘自:http://www.blogjava.net/tufanshu/archive/2005/11/17/20309.html

  补充:

    1、如果你的项目 WEB-INF\lib 下面也有tools.jar 的话你也要用同样的JDk下的TOOLS.jar 覆盖,或者将项目下的删除,重启Tomcat。

    2、类文件格式的主版本号被使用  J2SE 6.0=50, J2SE 5.0=49, JDK 1.4=48, JDK 1.3=47, JDK 1.2=46.

    3、升级JDK版本后,环境变量的配置和Tomcat的Java指向也需要修改。

    同理如果你想升级更高版本的JDK,用同样的办法我想也是可以的,没有试过 ^_^