簡體   English   中英

IBM Worklight 6.0-Android構建錯誤

[英]IBM Worklight 6.0 - Android build error

我們通過Microsoft Team Foundation Server(TFS)管理項目,以進行源代碼控制。

在Worklight項目上執行“全部構建並部署”后執行Ant構建腳本時,我看到此錯誤:

構建文件:C:\\ Users \\ ren04 \\ Documents \\ Workspaces \\ MCAMWorkspace \\ MCAMWorklightPOCJQ \\ apps \\ Fourcast \\ android \\ native.externalToolBuilders \\ wlprebuild.xml

跑:

建立失敗

C:\\ Users \\ ren04 \\ Documents \\ Workspaces \\ MCAMWorkspace \\ MCAMWorklightPOCJQ \\ apps \\ Fourcast \\ android \\ native.externalToolBuilders \\ wlprebuild.xml:10:無法更改只讀文件C:\\ Users \\ ren04 \\ Documents \\工作區\\ MCAMWorkspace \\ MCAMWorklightPOCJQ \\ apps \\ Fourcast \\ android \\ native \\ 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文件的“觸摸”功能起什么作用,它引起的錯誤是否是我們需要解決的問題?

是的,需要“觸摸”文件。

如果對的沒問題,那么這樣做是由於在構建兩次服務器之間和/或設備之間存在時間差異的情況下,構建Worklight項目后應用程序中的Web資源可能不會更新的可能性。 由於存在時間戳,因此Web資源現在始終是最新的。

我自己沒有嘗試此操作,但是也許您可以:

  1. 保持config.xml文件可寫
  2. 創建一個新文件,並在wlprebuild.xml中指向它,這樣'touch'不會出現在config.xml中,而是指向另一個文件

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM