为ant指定编译版本

时间:2023-03-09 19:15:50
为ant指定编译版本

用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>