我正在尝试使用Ant copy任务复制目录.
我是Ant的新手; 我目前的解决方案是:
<copy todir="${release_dir}/lib">
<fileset dir="${libpath}" />
</copy>
Run Code Online (Sandbox Code Playgroud)
我想知道是否有更好更短的方法来完成同样的事情?
zer*_*ble 14
首先,这些是Ant文档中的示例:
将目录复制到另一个目录
<copy todir="../new/dir">
<fileset dir="src_dir"/>
</copy>
Run Code Online (Sandbox Code Playgroud)
将一组文件复制到目录
<copy todir="../dest/dir">
<fileset dir="src_dir">
<exclude name="**/*.java"/>
</fileset>
</copy>
<copy todir="../dest/dir">
<fileset dir="src_dir" excludes="**/*.java"/>
</copy>
Run Code Online (Sandbox Code Playgroud)
将一组文件复制到目录,将.bak附加到文件名中
<copy todir="../backup/dir">
<fileset dir="src_dir"/>
<globmapper from="*" to="*.bak"/>
</copy>
Run Code Online (Sandbox Code Playgroud)
其次,这是关于复制任务的整个文档.
仅仅是因为文档对我而言不是很清楚,并且因为我所花费的时间可以为其他人服务:
文档说这“将目录(dir1)复制到另一个目录(dest)”:
<copy todir="../new/dest">
<fileset dir="src/dir1"/>
</copy>
Run Code Online (Sandbox Code Playgroud)
其实,这并不能意味着“ 复制dir1里面dest ”,而是“ 复制的内容dir1里面dest。”
(通常,在Ant中,文件集的“根目录”( 以及todir属性中的根目录)不被视为集合本身的一部分。)
将目录dir1放在dest一个目录中有几种选择(没有一个令我完全满意-我想象新的DirSet在这里会有所帮助,但没有)
<copy todir="../new/dest/dir1">
<fileset dir="src/dir1"/>
</copy>
Run Code Online (Sandbox Code Playgroud)
要么
<copy todir="../new/dest">
<fileset dir="src" includes="dir1/**"/>
</copy>
Run Code Online (Sandbox Code Playgroud)