Java 中关于Version Number的一点总结
来源:互联网 发布:淘宝天使心写真集原版 编辑:程序博客网 时间:2024/06/08 09:33
Java 中关于Version Number的一点总结
1. Bad version number in .class file 问题及解决方案:
首先明确:低版本的第三方jar可以被高版本的Application所接受。但高版本的Jar很可能不被低版本的Application接受。
所以,我们compiler一定要尽量低,我们运行的jre一定要高。至少要使得compiler一定要比Jre低,否则就会出现上述的错误。
如果你熟悉Eclipse 你应该就知道怎么改了,或者,从Google上找到具体做法
2. 关于Jad 反编译出现的问题(The class file version is 48.0 (only 45.3 and 46.0 are supported))
今天用Jad出现了一个class文件版本过高不能编译的问题,后来采用了一个新的Jad,可以编译1.5以后版本的class, Jad1.5.8g.
相当有意思的事情:由于Jad1.5.7不能反编译1.5版本以上的class(只能编译1.2!),有人采用了这样的方式更改class文件:修改第八个字节。这个应该是版本信息所在的位置。后来用urltraEdit编译后发现果然如此。第八个字节有2E和30的区别。
这个工具非常好用。
进一步研究发现:发现了一个问题:
Javac –source 1.5 –target 1.4这样是行不通的。
但是Java –source 1.3 –target 1.2却可以搞定。
所以版本的问题实在是复杂。
总结如下:
a. 1.4,1.5,1.6版本的源文件可以编译成比他高的版本。
b. 1.3,1.2版本的源文件可以编译成任何版本。高低不限。
可见,分水岭产生在1.4,也说明了1.4产生了重大的改变。
另外一个很有意思的事情是,如果不带-source这个选项,默认源文件的版本是1.5.也就是说,只可能编译成1.6或者1.5版本的class,这个问题没有再继续研究下去了,如果知道这些版本之间编译的差别究竟是怎么造成了,请回复。
- Java 中关于Version Number的一点总结
- 关于Java中字符编码的一点总结
- [原]关于Java中字符编码的一点总结
- 关于java的环境变量的一点总结
- 关于单元测试中STUB的一点总结
- 关于android中gridview的一点总结
- 关于java.io的一点总结
- 关于JAVA集合类的一点总结!
- 关于Java i18n 的一点总结
- 关于java内存的一点总结
- 关于java中getContentPane()的一点知识
- 关于Java中static的一点思考
- 关于java中String的一点理解
- 关于java中多线程的一点理解
- java中wait()方法的一点总结
- 关于java中很多人用get()和set()方法,而不用public的一点总结
- 关于java中很多人用get()和set()方法,而不用public的一点总结
- 今天工作中关于下拉框的一点总结
- 如何在C#中读写INI文件
- 一段生成验证码图片的程序
- Qt入门小程序——HelloWorld
- java文件操作大全
- 导出数据库数据的方法,适合简单的数据库表格结构
- Java 中关于Version Number的一点总结
- md5概述
- hibernate配置c3p0连接池(lp)
- SIP开发环境的搭建
- md5概述 2
- delphi 7 调用web services时报 Invalid at the top level of the document错误的解决方法
- 数字变成大写的类,把人民币转化为大写汉字
- 利用DirectShow开发自己的Filter
- 第18章 Observer模式