每日一得

不求多得,只求一得 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 阅读(561) 评论(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
多多交流。  回复  更多评论
  


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


网站导航: