Я более привык делать, поэтому я запутался, почему ant перекомпилирует классы, когда исходный код не был изменен. Я читал, что в некоторых случаях, когда используются дженерики, требуется перекомпиляция, но я не уверен, что это будет необходимо для моего проекта.
Также, в задаче javac я установил includeDestClasses = "true"
Вот некоторые цели, которые я использую
<target name="init">
<mkdir dir="${build}"/>
<mkdir dir="${dist}"/>
</target>
<target name="compile" depends="init,util,semantics" description=""/>
<target name="util" depends="" description="">
<javac destdir="${build}" classpath="project.class.path" debug="on" srcdir="${src}/util" includeDestClasses="true" source="1.5">
<classpath refid="project.class.path"/>
</javac>
</target>