因为
Retrotranslator的出现,SpringSide终于放心升到JDK5.0,只要用户在build的时候选择war14 task,生成的war就保证仍然100%运行在JDK1.4的服务器上。在最新的retrotranslator 1.0.7 支持下,SpringSide在Tomcat 5.0+JDK1.4上部署成功。
不能随意更改运行环境JDK的历史项目,客户真金白银买了不支持JDK5的Weblogic8.1的项目,一般只能看着JDK5的annotation、泛型和EJB3干咽口水,所以上帝說要有光,我们有了这个恩物。
和以前推荐的Retroweaver一样,大家直接用JDK5开发,如果需要部署到JDK1.4的运行环境,就通过asm把Class转到JDK1.4的字节码。
但它不仅支持JDK5的新语法,还大量支持JDK5的新增API。
Retrotranslator的用法很简单,可以用命令行、Ant和IDEA插件自动转换,http://retrotranslator.sf.net 上讲得很清楚,可以转换Jar,也可以转换Class目录。
比较特别的是有个Verify选项,能确保你没有用到它暂时还不支持的JDK5 API(记得Classpath里要加入JDK1.4的rt.jar)。
附:springside war14 任务简述
war14在打包时,会调用/misc/jdk14/build.xml, 为drools,compas,easymock2等几个使用了JDK1.5技术的jar 生成jdk1.4的版本,并为项目的classes 目录生成JDK1.4的版本,然后用它们替换war中原来的内容即可。
注意用户可能要自己在/misc/jdk14/build.properties中设一下jdk1.4的路径。
build.xml 片断:
<target name="jdk14src">
<taskdef name="retrotranslator" classpathref="compile.classpath" classname="net.sf.retrotranslator.transformer.RetrotranslatorTask"/>
<retrotranslator destdir="classes" verify="true">
<src path="../../springside-bookstore/webapp/WEB-INF/classes"/>
<classpath location="${jdk14_home}/lib/rt.jar"/>
<classpath refid="compile.classpath"/>
</retrotranslator>
</target>
分享到:
相关推荐
3. **自动装箱与拆箱**:JDK 5.0中,原始类型(如int)与对应的包装类(如Integer)之间可以自动进行装箱(将原始类型转换为对象)和拆箱(将对象转换为原始类型)操作,简化了代码编写。 4. **可变参数(Varargs)...
2. **编译源代码**:打开命令行,确保已经正确配置了JDK,然后在源代码所在目录下运行`javac HelloWorld.java`,这将生成一个`HelloWorld.class`字节码文件。 3. **运行程序**:运行`java HelloWorld`,控制台将显示...
它首先读取由JDK1.6或1.5编译的.class文件,然后将这些现代字节码转换为与JDK1.4兼容的格式。这个过程涉及到对新特性如泛型、枚举、注解等的处理,因为这些特性在JDK1.4中是不存在的。Retrotranslator会将它们转换为...
官网发布的json-lib-2.4-jdk13.jar,在JDK1.4中无法使用,经过不懈努力,知道问题出在哪里了,分享下: debug那个json-lib源码,最后错误定位在这个方法 protected static void removeInstance( Object instance )...
Java字节码转换工具Retrotranslator是一个用于解决软件兼容性问题的实用工具,尤其是在Java版本升级带来的不兼容性上。随着Java技术的不断迭代,新版本的特性常常不能在旧版本的JDK环境下运行,而Retrotranslator的...
自动将int转换为Integer对象。 3. **枚举类型**:JDK5.0之前,枚举通常通过常量类来实现,而JDK5.0引入了内置的枚举类型,提供了更强大的功能和更好的类型安全。枚举可以有方法、构造函数,甚至可以实现接口,例如 ...
jdk-8u60-windows-i586 jdk-8u60-windows-i586 jdk-8u60-windows-i586 jdk-8u60-windows-i586 jdk-8u60-windows-i586
良葛格java jdk 5.0学习笔记,良葛格java jdk 5.0学习笔记.zip,良葛格java jdk 5.0学习笔记.zip,良葛格java jdk 5.0学习笔记.zip,良葛格java jdk 5.0学习笔记.zip,良葛格java jdk 5.0学习笔记.zip。
### JDK 5.0 和 Tomcat 5.0 配置全攻略 #### 环境搭建背景 对于初入Java领域的新手来说,环境配置往往是一个不小的挑战。本篇文章旨在帮助那些在Java学习过程中遇到环境配置问题的朋友,提供一份详尽的JDK 5.0 和 ...
需要注意的是,尽管Retrotranslator能够处理大部分的字节码转换,但并不是所有JDK1.5的新特性都能被完全还原为JDK1.4兼容的形式。例如,对于依赖于JDK1.5以上版本库的项目,可能还需要寻找这些库的旧版本或者寻找...
JDK 5.0简化了基本类型与对应的包装器类型之间的转换,引入了自动装箱和拆箱机制。这意味着开发者不再需要手动进行如Integer i = new Integer(5); 这样的转换,可以直接写作Integer i = 5;。 四、变量注解...
在JDK 5.0中,你可以为局部变量提供一个初始值,即使这个变量在声明时没有被初始化,但必须确保它在使用前被赋予一个值。 7. **静态导入(Static Import)** 静态导入允许将类的静态成员引入到当前作用域,这样...
Java JDK 5.0是Java发展历程中的一个重要里程碑,它引入了许多新特性,极大地提升了开发效率和代码质量。..."良葛格Java JDK 5.0学习笔记"这份资料应该会详细解释这些概念,为初学者提供宝贵的参考资料。
### JDK 5.0新特性详解 #### 一、自动装箱与自动拆箱 在JDK 5.0中,引入了一个非常实用的功能——自动装箱和自动拆箱,这极大地方便了开发者在处理基本数据类型和它们对应的封装类之间的转换。以前,我们可能需要...
1. **泛型(Generics)**:JDK 5.0引入了泛型,允许开发者在类、接口和方法中定义类型参数,增强了类型安全,减少了强制类型转换,使代码更易读、更少出错。例如,ArrayList表示一个只存储字符串的列表。 2. **枚举...
这篇文档将详细解析JDK 5.0中文版API,帮助初学者和有经验的开发者更好地理解和利用这一强大的资源。 ### 类库概述 JDK 5.0的类库包括了基础类库、集合框架、I/O流、网络编程、多线程、异常处理、反射、泛型等多个...
良葛格————JavaJDK5.0学良葛格————JavaJDK5.0学习笔记PDF.rar习笔记PDF.rar良葛格良葛格————JavaJDK5.0学习笔记PDF.rar————JavaJDK5.0学习笔记PDF.rar良葛格————JavaJDK5.0学习笔记PDF.rar良...
java-jdk1.8-8u361-all-jdk-win-linux 该压缩包中包含jdk1.8-8u361下windows版本和linux版本,其包含快速安装包和对应的jdk压缩包版本,具体内容如下: jdk-8u361-linux-aarch64.rpm jdk-8u361-linux-i586.rpm jdk-8...
ibm JDK5.0 fro linux,这个东西很难下的。