我正在尝试使用Ant copy
任务复制目录。
我是Ant的新手;我目前的解决方案是:
<copy todir="${release_dir}/lib">
<fileset dir="${libpath}" />
</copy>
我想知道是否有更好更短的方法来完成同样的事情?
答案 0 :(得分:14)
首先,这些是Ant文档中的示例:
将目录复制到另一个目录
<copy todir="../new/dir">
<fileset dir="src_dir"/>
</copy>
将一组文件复制到目录
<copy todir="../dest/dir">
<fileset dir="src_dir">
<exclude name="**/*.java"/>
</fileset>
</copy>
<copy todir="../dest/dir">
<fileset dir="src_dir" excludes="**/*.java"/>
</copy>
将一组文件复制到一个目录中,将.bak附加到文件名中
<copy todir="../backup/dir">
<fileset dir="src_dir"/>
<globmapper from="*" to="*.bak"/>
</copy>
其次,这是关于复制任务的整个documentation。
答案 1 :(得分:4)
仅仅因为文档对我来说不是很清楚,而且因为我花的时间可以为其他人服务:
文档说这&#34;将目录(dir1)复制到另一个目录(dest)&#34;:
<copy todir="../new/dest">
<fileset dir="src/dir1"/>
</copy>
实际上,不意味着&#34; 复制dir1
在dest
&#34;内,而不是&#34; 复制dir1
&#34;内的dest
内容。
(一般来说,在Ant中,filesets的&#34;根目录&#34;以及todir
属性 - 不被认为是集合本身的一部分。 )
要将目录dir1
放在dest
内,我可以选择几种方式(没有一种方法让我满意 - 而且我想象新的DirSet会对此有所帮助,但是没有)
<copy todir="../new/dest/dir1">
<fileset dir="src/dir1"/>
</copy>
或
<copy todir="../new/dest">
<fileset dir="src" includes="dir1/**"/>
</copy>
答案 2 :(得分:1)
这样做:
<copy todir="directory/to/copy/to">
<fileset dir="directory/to/copy/from"/>
</copy>
蚂蚁手册是您的朋友:Ant Manual,在这种情况下:Copy Task
答案 3 :(得分:1)
来自http://ant.apache.org/manual/Tasks/copy.html:
<copy todir="../new/dir">
<fileset dir="src_dir"/>
</copy>