我知道如何使用 Ant 复制文件和文件夹,但我感兴趣的是,我是否可以以及如何让 javac 任务将正在编译的相同源代码复制到输出目录。
基本上,它与将源包含在 jar 任务中的选项非常相似。
最佳答案
您甚至可以使用 ant 的宏来定义您自己的 copyingjavac
任务,该任务执行这两个操作,唯一的问题是正确处理文件集,以准确复制正在编译的文件集。
如果你只想在编译成功时复制一个文件,你将不得不构建一个自定义的 ant 任务(扩展默认的 javac 任务),或者使用 ant_contrib foreach 任务。
宏定义看起来像:
<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>
关于java - 如何将 .java 源复制到 Ant javac destFolder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2948489/