-
ant javac任务是用于编译源文件的。
-
它的fork属性表示是否用JDK编译器在外部执行javac,取值可以为"yes"、“no”,默认值为"no"。
-
当fork属性的取值为"yes"时,可以用executable属性指明javac可执行文件的完全路径。当fork属性的取值为"no"时,executable属性被忽略。
-
fork属性会覆盖build.compiler属性、或者compiler属性的设置。
举例:
<project name="demo_project" default="build">
<property name="build.home" value="${basedir}/build"/>
<property name="build.classes.home" value="${build.home}/classes"/>
<target name="setup">
<mkdir dir="${build.home}"/>
<mkdir dir="${build.classes.home}"/>
</target>
<target name="build" depends="setup">
<javac
fork="yes"
executable="C:/Program Files/Java/jdk-17.0.5/bin/javac"
debug="true"
verbose="${verbose}"
destdir="${build.classes.home}"
srcdir="${basedir}/src"
includeAntRuntime="false">
</javac>
</target>
<target name="clean">
<delete dir="${build.home}" includeEmptyDirs="true"/>
</target>
</project>
运行: