Retrotranslator--将JDK5.0项目完全转换为JDK1.4 字节码的恩物

因为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 片断:

Java代码 复制代码
  1. <target name="jdk14src">   
  2.         <taskdef name="retrotranslator" classpathref="compile.classpath"               classname="net.sf.retrotranslator.transformer.RetrotranslatorTask"/>   
  3.         <retrotranslator destdir="classes" verify="true">   
  4.             <src path="../../springside-bookstore/webapp/WEB-INF/classes"/>   
  5.             <classpath location="${jdk14_home}/lib/rt.jar"/>   
  6.             <classpath refid="compile.classpath"/>   
  7.         </retrotranslator>   
  8. </target>  
<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>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值