把jdk1.5环境下的类文件编译成1.4环境下的类文件,我使用的是Retrotranslator-1.2.2。使用Ant编译依赖三个jar文件,retrotranslator-transformer-1.2.2.jar,retrotranslator-runtime-1.2.2.jar,backport-util-concurrent-3.0.jar。
具体请看Ant配置,如下:
首先是路径配置,文件名为:build-dist.properties
然后是build文件,文件名为:buildRetrotranslator.xml
配置好Ant环境,使用命令ant -f buildRetrotranslator.xml [任务名,不加则为默认],如果文件名为build.xml,则使用ant [任务名,不加则为默认]。
具体请看Ant配置,如下:
首先是路径配置,文件名为:build-dist.properties
- #jdk1.4路径
- jdk14_home=C:/j2sdk1.4.2_05
- #当前路径
- Retrotranslator.dir = .
- #1.4的class文件路径
- Retrotranslator.src.dir = ${Retrotranslator.dir}/src
- #jar文件路径
- Retrotranslator.jar.dir = ${Retrotranslator.dir}/jar
- #生成的jar文件或者1.4的class文件的路径
- Retrotranslator.dist.dir = ${Retrotranslator.dir}/dist
然后是build文件,文件名为:buildRetrotranslator.xml
配置好Ant环境,使用命令ant -f buildRetrotranslator.xml [任务名,不加则为默认],如果文件名为build.xml,则使用ant [任务名,不加则为默认]。
- <?xml version="1.0" encoding="UTF-8"?>
- <project name="Retrotranslator" default="jdk14jar">
- <property file="build-dist.properties"/>
- <path id="compile.classpath">
- <fileset dir="${Retrotranslator.dir}">
- <include name="**/*.jar"/>
- </fileset>
- </path>
- <!-- 初始化任务 -->
- <target name="init">
- <mkdir dir="${Retrotranslator.dist.dir}"/>
- <taskdef name="retrotranslator" classpathref="compile.classpath"
- classname="net.sf.retrotranslator.transformer.RetrotranslatorTask" />
- </target>
- <!-- 把jdk1.5的类文件编译成jdk1.4的class文件 -->
- <target name="jdk14src" depends="init">
- <retrotranslator destdir="${Retrotranslator.dist.dir}" verify="true">
- <!-- 包含class文件,并换成1.4的class文件-->
- <fileset dir="${Retrotranslator.src.dir}" includes="**/*.class"/>
- <!-- 包含jar文件,直接转换成1.4的class文件-->
- <jarfileset dir="${Retrotranslator.src.dir}" includes="**/*.jar"/>
- <classpath location="${jdk14_home}/jre/lib/rt.jar"/>
- <classpath refid="compile.classpath"/>
- </retrotranslator>
- </target>
- <target name="jdk14jar" depends="init">
- <!-- 直接把jar文件转换成1.4的jar文件-->
- <retrotranslator srcjar="${Retrotranslator.jar.dir}/jasperreports-1.2.5.jar"
- destjar="${Retrotranslator.dist.dir}/jasperreports-1.2.5-jdk14-2.jar" verify="true">
- <classpath location="${jdk14_home}/jre/lib/rt.jar"/>
- <classpath refid="compile.classpath" />
- </retrotranslator>
- </target>
- </project>