Исходный и целевой каталог будут рекурсивно просканированы на предмет наличия исходных файлов Java для компиляции. Будут компилироваться только файлы Java, у которых нет соответствующего файла .class или файл класса старше, чем файл .java.
Вышеупомянутое взято из javac Task, ANT Apache. Но я действительно не понимаю, почему в моем случае .java перекомпилируется снова и снова.
Мой рабочий каталог ... / trunk
Мой источник (.java) находится в trunk / src
Моя цель (.class) находится в багажнике / bin
В моих файлах .java используется пакет по умолчанию, а именно без объявления пакета.
Таким образом, в моем build.xml используется задача javac.
<javac srcdir="${src}"
destdir="${bin}"
includeantruntime="false">
<classpath>
<pathelement location="${bin}"/>
<pathelement path="${java.class.path}"/>
</classpath>
</javac>
где я определил
<property name="src" value="src"/>
<property name="bin" value="bin/"/>
Вроде все в порядке, но каждый раз, когда я запускаю ANT, он перекомпилирует файлы .java. Действительно странно! Кто-нибудь хотел бы сказать мне, почему? Спасибо.