jdk1.5转换到jdk1.4

参照如下网站:
http://txxm.iteye.com/blog/post/236954


项目之初,考虑到主流应用服务器大都开始支持Jdk1.5,另外一些开源库也要1.5才能运行,所以Jdk决定采用1.5版本。1.5的新特性确实很爽,呵呵。等到项目快结束的时候,又要求支持1.4,理由是用户现有服务器有可能不支持1.5。代码改成支持1.4,不仅浪费时间,而且还要放弃1.5的特性。看到网上介绍Retrotranslator,感觉不错,今天试用了一下,结果相当满意,tomcat5.0 + jdk1.4 将我的应用跑了起来,呵呵。

下面我将操作步骤记录下来:

1、在Jdk1.5下编译java源文件(这时的class只能在1.5下跑);

2、下载Retrotranslator,我用的是1.2.1版,解压后可得到三个jar,retrotranslator-transformer-1.2.1.jar、backport-util-concurrent-3.0.jar、retrotranslator-runtime-1.2.1.jar;Retrotranslator可以命令行、ant或maven任务、Intellij idea plugin方式运行,下面以ant任务方式运行;

3、参考以下ant脚本(附件),需要修改相应部分:

(注:该脚本不仅转换classes目录下的class文件,而且还转换1.5下发布的jar,如:hibernate-annotations-3.2.1.ga.jar,生成相应的1.4版本。)

4、在jdk1.4环境下(例如tomcat5.0+jdk1.4环境),用1.4版本的jar替换原有的jar,用转换后的class替换原有的class;

5、将backport-util-concurrent-3.0.jar、retrotranslator-runtime-1.2.1.jar添加到WEB-INF/lib目录;

6、启动tomcat,不出问题的话,应该能跑起来!




build.rar
描述: ant脚本
下载
文件名: build.rar
文件大小: 926 字节
下载过的: 文件被下载或查看 11 次

源附件下载:[url]http://txxm.iteye.com/topics/download/08a2d417-4194-4b26-a38a-fa18ba769356[/url]


<?xml version="1.0" encoding="UTF-8"?>
<project name="project" default="all" >

<path id="compile.classpath">
<fileset dir="E:\trans\traffic_site\WEB-INF\lib" includes="**/*.jar"/>
<fileset dir="E:\lib_Retrotranslator" includes="*.jar"/>
<pathelement location="E:\jakarta-tomcat-5.0.28\common\lib\servlet-api.jar"/>
</path>

<patternset id="compilered.resources">
<exclude name="**/?*.class"/>
</patternset>

<target name="jdk14">
<taskdef name="retrotranslator" classpathref="compile.classpath"
classname="net.sf.retrotranslator.transformer.RetrotranslatorTask"/>
<!--
<jdk14jar jarname="spring"/>
-->
</target>

<target name="jdk14src" depends="jdk14">
<taskdef name="retrotranslator" classpathref="compile.classpath"
classname="net.sf.retrotranslator.transformer.RetrotranslatorTask"/>
<retrotranslator destdir="E:\classes" verify="true">
<fileset dir="E:\trans\traffic_site/WEB-INF/classes" includes="**/*.class"/>
<classpath location="E:\Java\j2sdk1.4.2\j2sdk1.4.2/jre/lib/rt.jar"/>
<classpath location="E:\Java\j2sdk1.4.2\j2sdk1.4.2/jre/lib/jce.jar"/>
<classpath refid="compile.classpath"/>
</retrotranslator>
</target>

<macrodef name="jdk14jar">
<attribute name="jarname"/>
<sequential>
<fail message="E:\Java\j2sdk1.4.2\j2sdk1.4.2 didn't exist, edit build.properties to reset the Jdk14_home propertity">
<condition>
<not>
<available file="E:\Java\j2sdk1.4.2\j2sdk1.4.2" type="dir"/>
</not>
</condition>
</fail>
<retrotranslator srcjar="E:\trans\traffic_site/WEB-INF/lib/@{jarname}.jar" destjar="E:\trans\traffic_site/WEB-INF/lib/@{jarname}-jdk14.jar" verify="true" failonwarning="Off">
<classpath location="E:\Java\j2sdk1.4.2\j2sdk1.4.2/jre/lib/rt.jar"/>
<classpath refid="compile.classpath"/>
</retrotranslator>
</sequential>
</macrodef>

<target name="resources">
<copy todir="classes">
<fileset dir="E:\trans\traffic_site/WEB-INF/classes">
<patternset refid="compilered.resources"/>
</fileset>
</copy>
</target>
<target name="all" depends="jdk14src,resources">
</target>
</project>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值