Ant复制任务:将每个Project下的所有src文件夹(包括子目录)复制到单个目录

时间:2015-09-14 17:21:33

标签: java ant build

我有以下目录结构:

RootFolder
    |build.xml
    |Project 1
        |src
        |resources
    |Project 2
        |src
        |resources      
    |Project 3
        |src        
        |resources  

我想将每个项目下的所有仅src文件夹(包括子目录)复制到单个目录

这就是我尝试过的

<target name="prep_emma" >  
    <copy todir="${dest.dir}/src" verbose="true"  >
         <fileset dir="${RootFolder}">          
             <include name="**/JavaSource/com/**/*.java"/>
         </fileset>
    </copy> 
</target>

但这会在目的地

创建整个文件夹结构
dest.dir
    |Project 1
        |src        
    |Project 2
        |src        
    |Project 3
        |src

但我想要

dest.dir    
    |src    

1 个答案:

答案 0 :(得分:2)

你需要file mapper,cutdirsmapper应该足够了,f.e。 :

<copy todir="${dest.dir}/src" verbose="true"  >
 <fileset dir="${RootFolder}">          
  <include name="**/JavaSource/com/**/*.java"/>
 </fileset>
 <cutdirsmapper dirs="1"/>
</copy> 

表示剥离了前导项目x。

  

cutdirsmapper(自Ant 1.8.2起)

     

此映射器从中删除配置数量的前导目录   源文件名。