转自:http://neoman.iteye.com/blog/571806
ant 运行时,必需依赖jdk6.0,而是用ant编译java文件时,却需要是用jdk1.4或者1.5。那如何指定ant编译版本呢?
最近发现了两种解决方案:
1、为 javac 任务指定target属性和source属性,取值为:1.3、1.4、1.5 即自己需要编译源码的版本,部分源码:
<target name="main2">
<delete dir="${class.dir}"/>
<mkdir dir="${class.dir}"/>
<!--
source:指定用哪个版本的编译器对java源码进行编译
target:指定生成的class文件将保证和哪个版本的虚拟机进行兼容
-->
<javac target="1.3" source="1.3" srcdir="${src.dir}" destdir="${class.dir}">
<classpath refid="classpath" />
</javac>
</target>
2、为javac 任务指定fork和executable,是用指定编译器编译,这个方法更灵活,您甚至可以指定非sun公司的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>