copy的时候,保持原有的目录结构

flatten:用于指定是否需要复制目录,如果为true代表把所有的文件复制到todir属性设定的目录下。默认为false,复制目录。

<copy encoding="utf-8" flatten="false" todir="${target.app}/WEB-INF/classes">
<fileset dir="config">
<include name="**/jdbc.properties" />
</fileset>

<!-- 定义拷贝替换过滤器,这样当发现原始的配置文件中存在类似name=${debug}的时候,ant就会在filterset文件列表查找内容name=开头的内容,并使用name=后面的值替换到原始文件,最后替换完成后才会复制到目标目录 -->
<filterset begintoken="${begintoken}{" endtoken="}">
<filtersfile file="${user.home}/${projectName}/antx.properties" />
</filterset>
</copy>

如上,假设我的jdbc.properties在config的a/b/c目录下
那么复制到${target.app}/WEB-INF/classes的时候,会在classes下面创建a/b/c目录,并拷贝到c目录下面,另外需要注意的是,路劲结构是相对你的初始目录的,上面的例子初始目录是
<fileset dir="config">

猜你喜欢

转载自liyixing1.iteye.com/blog/1732585