我正在构建一个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指定要排除它...
答案 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/**