Retrotranslator--将JDK5.0项目完全转换为JDK1.4 字节码的恩物
来源:互联网 发布:淘宝代购服务点查询 编辑:程序博客网 时间:2024/04/29 03:45
因为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>
- Retrotranslator--将JDK5.0项目完全转换为JDK1.4 字节码的恩物
- Retrotranslator--将JDK5.0项目完全转换为JDK1.4 字节码的恩物
- Retrotranslator--将JDK5.0项目完全转换为JDK1.4 字节码的恩物
- Retrotranslator--将JDK5.0项目完全转换为JDK1.4 字节码的恩物
- 如何将字节数组转换为十六进制的字符串
- 如何将jdk1.8版本写下的项目转换成jdk1.7
- 对Hadoop中一段将字节码数组转换为Integer的代码的思考
- 对Hadoop中一段将字节码数组转换为Integer的代码的思考
- MyEclipse2014将web项目jdk1.7 更换为jdk1.6
- Retrotranslator让你用JDK1.5的特性写出的代码能在JVM1.4中运行
- 用Retroweaver 在JDK1.4上使用JDK5.0的特征
- 用Retroweaver 在JDK1.4上使用JDK5.0的特征
- 将一个字节数组从任意字节offset开始,长为len的字节转换为整数
- 将两个字符转换为一个字节
- 如何将 10 字节 Long 类型的值的 Double 转换为 8 字节 Double
- JDK1.4,JDK5.0及6.0JDK主要区别
- 将17字节mac字符串转换为6字节mac
- Retrotranslator 转换1.5的class到1.4的class
- 计算人生[更新中]
- 不能访问此文件夹, 路径是太长 导致不能访问,不能删除 已解决
- TCP/IP
- Web Service的几个问题
- 将关系系数据库转化为xml文件的通用程序
- Retrotranslator--将JDK5.0项目完全转换为JDK1.4 字节码的恩物
- socket网络编程
- sb正解
- CSRF——攻击与防御
- struts2 使用的小问题
- javascript 自定义函数劫持
- 文件大小和文件占用空间的区别
- 7月的感冒
- SVN中的trunk branches tags