5
我使用Ant 1.7,得到以下错误:文件集不支持“erroronmissingdir”属性
的build.xml:55:文件集不支持“erroronmissingdir”属性
什么1.7中的erroronmissingdir的替代属性(它在1.8中)
我使用Ant 1.7,得到以下错误:文件集不支持“erroronmissingdir”属性
的build.xml:55:文件集不支持“erroronmissingdir”属性
什么1.7中的erroronmissingdir的替代属性(它在1.8中)
fileset erroronmissingdir属性自Ant 1.7.1起可用。您必须使用早期版本的1.7。
属性是用来告诉构建悄悄忽略文件集,其基本目录不会在执行时存在:
<copy todir="tmp">
<fileset dir="foo" erroronmissingdir="false">
<include name="**/*"/>
</fileset>
</copy>
如果不指定erroronmissingdir="false"
(或不能,因为你的Ant版本不支持它),那么如果目录不存在,则默认结果是生成失败。
如果您需要您的构建成功,而不管目录是否存在,并且您不能使用erroronmissingdir属性,那么您有一些选项。
例如,你可以指定文件集的基础目录是你的目标目录的已知对存在的父母,这样的事情:
<copy todir="tmp">
<fileset dir=".">
<include name="foo/**/*"/>
</fileset>
</copy>
(注意,在这种情况下,副本将现在建立在copy
的todir
DIR富,你可以带,其使用水珠mapper)
另一种方法是在目标的条件,例如,以执行有条件可用文件集操作,守卫
<available property="foo.available" file="foo"/>
<target name="test" if="foo.available">
<copy todir="tmp">
<fileset dir="foo">
<include name="**/*"/>
</fileset>
</copy>
</target>
与ant -v
输出将显示:
[available] Unable to find foo to set property foo.available
test: Skipped because property 'foo.available' not set.
BUILD SUCCESSFUL Total time: 0 seconds