有时候,我们可能有这样的需求:
ant 运行时,必需依赖jdk6.0,而是用ant编译java文件时,却需要是用jdk1.4或者1.5。那如何指定ant编译版本呢?
最近发现了两种解决方案:
1、为 javac 任务指定target属性,取值为:1.3、1.4、1.5 即自己需要编译源码的版本,部分源码:
Java代码
- <target name="main2">
- <delete dir="${class.dir}"/>
- <mkdir dir="${class.dir}"/>
- <javac target="1.3" srcdir="${src.dir}" destdir="${class.dir}">
- <classpath refid="classpath" />
- </javac>
- </target>
2、为javac 任务指定fork和executable,是用指定编译器编译,这个方法更灵活,您甚至可以指定非sun公司的java编译器
Java代码
- <target name="main3">
- <delete dir="${class.dir}"/>
- <mkdir dir="${class.dir}"/>
- <javac fork="true" executable="D:\Java\jdk1.5.0_10\bin\javac" srcdir="${src.dir}" destdir="${class.dir}">
- <classpath refid="classpath" />
- </javac>
- </target>