`

让JDK1.5以上版本编译的类在JDK1.4上运行

阅读更多

最近一个项目,需要用到一个类包,但该包是在JDK1.5上编译的,而我们的运行环境是JDK1.4,所以找到了Retrotranslator这个工具来转换一下就可以了。具体步骤如下:

 

1、当然是先下载 Retrotranslator,下载地址是:http://retrotranslator.sourceforge.net/

 

2、在命令行窗口,输入

C:\Retrotranslator-1.2.9>java -jar retrotranslator-transformer-1.2.9.jar -srcjar slf4j-api-1.5.5.jar -destjar slf4j-api-1.5.5-jdk1.4.jar -verbose

生成的slf4j-api-1.5.5-jdk1.4.jar就是可以在JDK1.4上运行的包了。

 

当然,要正常运行还得有几个包来支撑:

retrotranslator-runtime-1.2.9.jar  :     retrotranslator的运行环境支持

backport-util-concurrent-3.1.jar    :    模拟JDK1.5  java.util.concurrent   API 的工具

把这两个包放在运行环境的Classpath即可。经验较长时间的试用,兼容性相当好。

 

=================

如何查看java类所用编译器的版本,请参考另一篇文章:

http://sheng.iteye.com/blog/690035  (深入理解java类版本冲突的问题)

 

=================

附件是一个转换用脚本:

 

分享到:
评论

相关推荐

    jdk1.5环境下编译的jar包在JDK1.4环境下运行

    在Java开发过程中,时常会遇到跨版本的问题,尤其是在旧版JDK环境中运行新版JDK编译的代码。这里我们讨论的焦点是“JDK1.5环境下编译的jar包在JDK1.4环境下运行”所遇到的问题,具体表现为“Unsupported major.minor...

    jdk1.5 jdk1.6 反编译 工具

    1. **支持jdk1.2 jdk1.3 jdk1.4 jdk1.5 jdk1.6**:这表明这个工具可以处理这些版本的Java编译后的字节码,意味着它可以打开并反编译这些版本的.class文件,帮助开发者查看对应时期的Java源代码。 2. **支持目录对...

    JDK1.5与1.4区别

    而JDK 1.5引入泛型后,可以在定义集合时指定类型,编译器会在编译阶段进行类型检查,从而避免了运行时的ClassCastException。 2. **自动装箱/拆箱(Autoboxing/Unboxing)** - 自动装箱允许原始数据类型与对应的...

    详细介绍JDK1.5的各种新特性

    8. **NIO.2(New I/O 2)**:虽然NIO(非阻塞I/O)是在JDK1.4引入的,但JDK1.5对其进行了扩展,添加了文件系统操作和文件观察者等功能,使得文件操作更加高效和灵活。 9. **类型安全的异常检查(Checked Exceptions...

    jdk1.4,jdk1.5,jdk6

    本文将深入探讨JDK 1.4、JDK 1.5(也称为Java 5)和JDK 6这三个重要版本的关键特性。 **JDK 1.4** JDK 1.4是Java发展历程中的一个里程碑,发布于2002年。这个版本引入了许多关键的新特性,包括: 1. **异常链**:...

    将1.5版本编译的jar包降级转编译为1.4版本的jar包

    在这种情况下,将1.5版本编译的jar包降级转编译为1.4版本的jar包是一个必要的步骤。下面将详细阐述如何进行这个过程。 首先,我们需要了解Java版本之间的差异。Java 1.5(也称为Java 5.0)引入了许多重要的语言特性...

    JDK 1.5 API 中文文档 HTML格式

    JDK 1.5,全称为Java Development Kit版本1.5,是Java编程语言的一个重要里程碑,它在2004年发布,引入了大量的新特性,显著提升了开发效率和程序性能。API(Application Programming Interface)文档是JDK的核心...

    JDK1.5源代码,有原文注释

    虽然在JDK 1.4中引入了NIO,但在JDK 1.5中进一步完善,提供了更多的文件系统操作和通道(Channels)功能。 通过阅读和研究这份JDK 1.5的源代码,开发者不仅可以深入了解Java平台的工作原理,还能学习到许多优秀的...

    jdk1.5API中文chm版

    JDK 1.5是Java历史上的一个重要版本,于2004年发布,引入了许多重要的新特性和改进,对Java语言的未来发展产生了深远影响。 **主要特性与知识点:** 1. **泛型(Generics)**:JDK 1.5首次引入泛型,允许在类、...

    利用Retrotranslator将Jdk1.5项目迁移到1.4

    标题中的“利用Retrotranslator将Jdk1.5项目迁移到1.4”是指使用Retrotranslator工具将基于Java 1.5版本的代码库转换为兼容Java 1.4的代码。这是因为某些环境或者旧系统可能只支持早期版本的Java,而新项目可能已经...

    jdk_1.5_x86

    5. **类型注解(Type Annotations)**: 虽然在JDK 1.5中引入,但主要在后续版本中得到广泛应用,允许在类型声明上添加元数据,用于编译时或运行时的验证。 6. **变量赋值检查(Static Import)**: 允许开发者在不...

    解决jdk1.4生成二维码问题,因为现下生成二维码的jar包,版本最低支持jdk1.5以上的版本,老的项目中想使用二维码,直接使用jar包无法使用

    1.解决思路,下载第三方的jar包,使用反编译工具,修改编译后...3.5 把修改的源码打包成QRCode.jar 在jdk1.4环境下测试通过 3.6 jd-gui 先使用反编译,里边有报错的语法,通过uudejava_exe_help 再反编译后修改一些错误

    jdk免安装版1.4、1.5、1.6、1.7

    本资源集合提供了四个不同版本的JDK:1.4、1.5、1.6和1.7,它们都是免安装版,可以直接使用,极大地简化了开发环境的搭建过程。 1. JDK 1.4:这是Java的一个重要里程碑,发布于2002年,引入了许多新的特性和改进。...

    JDK1.4老版本

    总之,JDK 1.4作为Java历史上的一个重要版本,其特性对后续的Java开发产生了深远影响,对于想要深入研究早期Java框架的开发者来说,它是不可或缺的知识源泉。通过学习和理解JDK 1.4,我们可以更好地欣赏Java技术的...

    java jdk1.5

    虽然Java NIO是在1.4版本引入的,但在1.5中进一步完善,增加了文件通道、文件锁等功能,提升了I/O操作的性能和灵活性。 以上是Java JDK 1.5的一些核心特性。`JDK_API_1_5_zh_CN.CHM`文件很可能是Java 1.5的中文API...

    JDK1.4,1.5,1.6的区别

    ### JDK1.4,1.5,1.6的区别 #### JDK1.5 新特性 JDK1.5,也称为Java 5,是Java发展史上的一个重要里程碑,引入了许多新特性,极大地提高了开发效率和代码质量。这些新特性包括: 1. **泛型** - 泛型是一种在编译...

    JDK转换器(1.5-->1.4)

    这个“JDK转换器(1.5-->1.4)”工具对于那些需要在旧版本JRE上运行的项目非常有用,它能够帮助开发者解决由于版本不兼容带来的问题,使得代码能在较旧的Java环境中顺利执行。使用这个转换器时,开发者需要注意转换...

    jdk 1.4 旧版 windows zip压缩包

    JDK 1.4是Java历史上的一个重要版本,发布于2004年,它是Java 2平台标准版(J2SE)的一部分。在这个版本中,Java引入了许多新的特性和改进,对于Windows操作系统用户来说,这个版本的JDK在当时的软件开发环境中扮演...

    JDK 1.5新特性

    在JDK 1.4之前,集合类中的元素类型只能在运行时检查,而在JDK 1.5之后,我们可以通过如下方式声明一个只存储字符串的列表: ```java List<String> listOfEmployeeName = new ArrayList(); ``` 这使得插入非字符串...

    JDK1.5中新的语言特征分类介绍

    在Java早期版本中,集合(如`List`或`Set`)中的元素类型是不确定的,这意味着在编译时不会检查集合中的元素类型是否正确,只有在运行时尝试对元素进行类型转换时才会发现类型不匹配的问题。这可能导致`...

Global site tag (gtag.js) - Google Analytics