重述我在这里听到的内容,并为像我这样的懒惰的人解释一下:
您可以使用 ant 中的 javac 任务实现增量构建,但您应该使用依赖任务来清除修改后的 .java 的 .class 文件,并且您不能在 javac 任务中未指定包含语句。(在 javac 任务中仅指定 src 路径并留下未指定的内容会导致 javac 重新编译它找到的所有源。)
这是我的依赖和 javac 任务。使用标准的 Oracle java 编译器,只编译我修改的 .java 文件。希望这可以帮助!
<depend srcdir="JavaSource" destdir="${target.classes}" cache="${dependencies.dir}" closure="yes">
<classpath refid="compiler.classpath" />
<include name="**/*.java"/>
</depend>
<javac destdir="${target.classes}" debug="true" debuglevel="${debug.features}" optimize="${optimize.flag}" fork="yes" deprecation="no" source="1.6" target="1.6" encoding="UTF-8" includeantruntime="no">
<classpath refid="compiler.classpath"/>
<src path="JavaSource"/>
<include name="**/*.java" /> <!-- This enables the incremental build -->
</javac>