Почему бы просто не использовать задачу copy
вместе с javac
one?
Вы даже можете использовать макрос муравья для определения своего собственного *Задача 1009 *, которая выполняет две операции, единственная проблема которой заключается в правильной обработке наборов файлов, для точного копирования набора компилируемых файлов.
Если вы хотите копировать файл только после успешной компиляции, у вас будетлибо создать пользовательскую задачу ant (расширяющую задачу javac по умолчанию), либо поиграть с задачей foreach ant_contrib.
Макроопредел может выглядеть следующим образом:
<macrodef name="copyingjavac">
<attribute name="srcdir"/>
<attribute name="destdir""/>
<element name="arginclude"/>
<sequential>
<javac srcdir="@{srcdir}" destdir="@{destdir}" updatedProperty="build.success">
<arginclude/>
</javac>
<copy todir="@{destdir}">
<fileset dir="@{srcdir}">
<arginclude/>
</fileset>
</copy>
<fail unless="build.success">
Build failed. Check the output...
</fail>
</sequential>
</macrodef>