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.blogjava.net/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 阅读(13518) 评论(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号

只有注册用户登录后才能发表评论。


网站导航: