Ant不排除构建中的文件

时间:2011-06-21 15:54:04

标签: ant build tar

我正在构建一个tar:

<property name="dcc-shell.dir" value="."/>
<property name="dcc-mdp.dir" value="${dcc-shell.dir}/eq-mo-drop-copy-converter-mdp"/>
<property name="mdp-code.dir" value="${dcc-mdp.dir}/*"/>
<property name="mdp-exclude.dir" value="${dcc-mdp.dir}/target"/>
<property name="dcc-srv.dir" value="${dcc-shell.dir}/eq-mo-drop-copy-converter-server"/>
<property name="srv-code.dir" value="${dcc-srv.dir}/src/main/*"/>
<property name="dcc-trans.dir" value="${dcc-shell.dir}/eq-mo-drop-copy-converter-transformer"/>
<property name="trans-code.dir" value="${dcc-trans.dir}/src/main/*"/>

<target name="create MDP.Tar">
    <tar destfile="${dcc-shell.dir}/mdp.tar"
        excludes="${mdp-exclude.dir}"
        basedir="${dcc-mdp.dir}"
    />
</target>

然而它不断地继续将目标文件及其内容添加到tar文件中,尽管通过excludes = dir指定要排除它...

3 个答案:

答案 0 :(得分:1)

您需要“**”来排除目录及其中的所有内容。这些excludes是基于文件的,而不是基于目录的。

<target name="create MDP.Tar">
    <tar destfile="${dcc-shell.dir}/mdp.tar"
        excludes="${mdp-exclude.dir}/**"
        basedir="${dcc-mdp.dir}"
    />
</target>

答案 1 :(得分:0)

因为您的相对路径已关闭,您的脚本基本上是这样做的:

包含目录中的所有文件:

./eq-mo-drop-copy-converter-mdp

但不包括这一个:

./eq-mo-drop-copy-converter-mdp\target

其中真正读取的eq-mo-drop-copy-converter-mdp/eq-mo-drop-copy-converter-mdp\target不存在。

您需要指定排除.\target\**

答案 2 :(得分:0)

通过反复试验我发现这是一个解决方案: **/target/**