用Eclipse的ant折腾了一天也没搞清楚为什么同样的设置ant出的class版本却不一样。后来下载个ant工具在命令行执行通过。
从网上抄得指定编译版本的方法如下:
ant 运行时,必需依赖jdk6.0,而是用ant编译java文件时,却需要是用jdk1.4或者1.5。那如何指定ant编译版本呢?
最近发现了两种解决方案:
1、为 javac 任务指定target属性,取值为:1.3、1.4、1.5 即自己需要编译源码的版本,部分源码:
<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编译器
<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>