差异黑白副本和javac destdir

时间:2016-05-11 09:56:42

标签: ant copy

我在教程中浏览ant build.xml文件。我很困惑b / w javac标签的copy标签和destdir属性。

<target name="compile">
    <mkdir dir="${classes.dir}"/>
    <javac srcdir="${src.dir}" destdir="${classes.dir}" classpathref="classpath"/>
    <copy todir="${classes.dir}">
        <fileset dir="${src.dir}" excludes="**/*.java"/>
    </copy>
</target>

根据我的理解,javac destdir属性将生成的类文件放在提到的目录中。根据上面的代码副本也做同样的事情,然后同时使用两者的目的是什么。

谢谢,

1 个答案:

答案 0 :(得分:1)

copy中的文件集:

<fileset dir="${src.dir}" excludes="**/*.java"/>

指定副本应该复制不是java文件的所有内容。这可能是图像和属性文件之类的东西。

因此javac任务正在编译Java源代码并将类文件放在目标目录中,而副本正在添加其他资源。