jdk1.5的類轉換成jdk1.4的類文件

把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 
Java代碼 
  1. #jdk1.4路徑  
  2. jdk14_home=C:/j2sdk1.4.2_05  
  3.   
  4. #當前路徑  
  5. Retrotranslator.dir = .  
  6. #1.4class文件路徑  
  7. Retrotranslator.src.dir = ${Retrotranslator.dir}/src  
  8. #jar文件路徑  
  9. Retrotranslator.jar.dir = ${Retrotranslator.dir}/jar  
  10. #生成的jar文件或者1.4class文件的路徑  
  11. Retrotranslator.dist.dir = ${Retrotranslator.dir}/dist  

   然後是build文件,文件名爲:buildRetrotranslator.xml 
   配置好Ant環境,使用命令ant -f buildRetrotranslator.xml [任務名,不加則爲默認],如果文件名爲build.xml,則使用ant [任務名,不加則爲默認]。 
Java代碼 
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <project name="Retrotranslator" default="jdk14jar">  
  3.   
  4.     <property file="build-dist.properties"/>   
  5.       
  6.     <path id="compile.classpath">  
  7.         <fileset dir="${Retrotranslator.dir}">  
  8.             <include name="**/*.jar"/>  
  9.         </fileset>  
  10.     </path>  
  11.       
  12.     <!-- 初始化任務 -->  
  13.     <target name="init">  
  14.         <mkdir dir="${Retrotranslator.dist.dir}"/>  
  15.         <taskdef name="retrotranslator" classpathref="compile.classpath"  
  16.                      classname="net.sf.retrotranslator.transformer.RetrotranslatorTask" />  
  17.     </target>  
  18.       
  19.     <!-- 把jdk1.5的類文件編譯成jdk1.4class文件 -->  
  20.     <target name="jdk14src" depends="init">  
  21.         <retrotranslator destdir="${Retrotranslator.dist.dir}" verify="true">  
  22.             <!-- 包含class文件,並換成1.4class文件-->  
  23.             <fileset dir="${Retrotranslator.src.dir}" includes="**/*.class"/>  
  24.             <!-- 包含jar文件,直接轉換成1.4class文件-->  
  25.         <jarfileset dir="${Retrotranslator.src.dir}" includes="**/*.jar"/>  
  26.         <classpath location="${jdk14_home}/jre/lib/rt.jar"/>  
  27.         <classpath refid="compile.classpath"/>  
  28.         </retrotranslator>  
  29.     </target>  
  30.       
  31.     <target name="jdk14jar" depends="init">  
  32.         <!-- 直接把jar文件轉換成1.4的jar文件-->  
  33.         <retrotranslator srcjar="${Retrotranslator.jar.dir}/jasperreports-1.2.5.jar"  
  34.             destjar="${Retrotranslator.dist.dir}/jasperreports-1.2.5-jdk14-2.jar" verify="true">  
  35.             <classpath location="${jdk14_home}/jre/lib/rt.jar"/>  
  36.             <classpath refid="compile.classpath" />  
  37.         </retrotranslator>  
  38.     </target>  
  39. </project>  
發佈了47 篇原創文章 · 獲贊 3 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章