ANT 执行报错:test is not a legal value for this attribute

发布于 2021-11-21 10:27:12 字数 1378 浏览 926 评论 3

脚本功能是:获取增量部署文件列表,每次部署都把所有的 delta 依次往 target 中覆盖,这样 target 的当前状态就是 production 的当前状态,以后只需要把 source 和 target 比较就能找出 delta 来,不需要手工准备哪些文件修改了的清单。

执行时区一直报错:test is not a legal value for this attribute

一直不解


<project
	name="dt2"
	basedir=".">
	<!--定义属性 -->
	<property
		name="delta"
		value="delta" />
	<property
		name="source"
		value="test" />
	<property
		name="target"
		value="test2" />
	<property
		name="copy.ignoreFileTimes"
		value="true" />
	<copy
		todir="${delta}"
		verbose="false"
		failonerror="false"
		includeemptydirs="false">
		<fileset dir="${source}">
			<!-- 两个条件取“与/AND" -->
			<!-- 找出不同的 -->
			<different
				targetdir="${target}"
				ignoreFileTimes="${copy.ignoreFileTimes}" />
			<!-- 并且文件在 source 和 target 目录下同时存在 -->
			<present
				present="both"
				targetdir="${target}" />

		</fileset>
		<fileset dir="${source}">
			<!-- 找出 source 和 target 中的不同的文件 -->
			<different
				targetdir="${target}"
				ignoreFileTimes="${copy.ignoreFileTimes}" />
			<!-- 并且只存在 source 端目录下而在 target 中不存在的 -->
			<present
				present="${source}"
				targetdir="${target}" />
		</fileset>
	</copy>
</project>



如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

眼眸 2021-11-22 13:01:28

属性值不合法~

私藏温柔 2021-11-22 12:34:43

属性值不合法~

虐人心 2021-11-22 08:01:45

问题找到了

在于条件标签present中present的属性值,只有“srconly”和“both”两个值,修改如下

<project
	name="dt2"
	basedir=".">
	<!--定义属性 -->
	<property
		name="delta"
		value="delta" />
	<property
		name="source"
		value="test" />
	<property
		name="target"
		value="test2" />
	<property
		name="copy.ignoreFileTimes"
		value="true" />
	<copy
		todir="${delta}"
		verbose="false"
		failonerror="false"
		includeemptydirs="false">
		<fileset dir="${source}">
			<!-- 两个条件取“与/AND" -->
			<!-- 找出不同的 -->
			<different
				targetdir="${target}"
				ignoreFileTimes="${copy.ignoreFileTimes}" />
			<!-- 并且文件在 source 和 target 目录下同时存在 -->
			<present
				present="both"
				targetdir="${target}" />

		</fileset>
		<fileset dir="${source}">
			<!-- 找出 source 和 target 中的不同的文件 -->
			<different
				targetdir="${target}"
				ignoreFileTimes="${copy.ignoreFileTimes}" />
			<!-- 并且只存在 source 端目录下而在 target 中不存在的 -->
			<present
				present="srconly"
				targetdir="${target}" />
		</fileset>
	</copy>
</project>

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文