我们通过Microsoft Team Foundation Server(TFS)管理我们的项目以进行源代码管理。
在Worklight项目上执行“Build All and Deploy”后执行Ant构建脚本时,我看到了以下错误:
构建文件: C:\ Users \用户ren04 \文件\工作区\ MCAMWorkspace \ MCAMWorklightPOCJQ \应用\ Fourcast \机器人\ native.externalToolBuilders \ wlprebuild.xml
运行:
建立失败
C:\用户\ ren04 \文件\工作区\ MCAMWorkspace \ MCAMWorklightPOCJQ \ APPS \ Fourcast \机器人\ native.externalToolBuilders \ wlprebuild.xml:10: 无法更改只读文件的修改日期 C:\ Users \用户ren04 \文件\工作区\ MCAMWorkspace \ MCAMWorklightPOCJQ \应用\ Fourcast \机器人\天然\ RES \ XML \ config.xml中
总时间:342毫秒
这些是Worklight生成的wlprebuild.xml Ant脚本的内容,它会触发错误:
<project name="wlprebuild" basedir="." default="run">
<!-- Licensed Materials - Property of IBM
5725-G92 (C) Copyright IBM Corp. 2006, 2013. All Rights Reserved.
US Government Users Restricted Rights - Use, duplication or
disclosure restricted by GSA ADP Schedule Contract with IBM Corp. -->
<!-- This is worklight file that change timestamp of the AndroidManifest.xml when running as android project -->
<target name="run">
<touch file="../res/xml/config.xml" verbose="false"/>
</target>
</project>
很明显,当Ant试图“触摸”TFS管理的Android worklight项目中的config.xml文件时,它无法修改时间戳。这是因为该文件是只读的,并且由TFS管理以便只读,直到它在编辑器中被修改(此时它从源代码存储库中检出并变得可编辑)。
我的问题是config.xml文件的'touch'用于什么目的,以及它引起的错误是否是我们需要解决的问题?
答案 0 :(得分:0)
'触摸'文件是必需的,是的。
如果内存对我有用,这是因为在构建Worklight项目之后,如果服务器和/或设备之间存在时间差异,则应用程序中的Web资源可能无法更新。由于时间戳,网络资源现在始终是最新的。
我自己也没试过,但也许你可以: