1
我有一個Android應用程序需要針對不同的環境(例如,UAT,舞臺演出,製作等)構建。每個環境需要不同的屬性(例如,URL,包等)。Ant中屬性文件的變量
我想將所有不同的參數放到一個單獨的屬性文件中,並在每個參數前加上它匹配的環境。
例如,屬性文件將包含開發環境的dev.home-url = http://home_dev.com
和生產環境的prod.home-url = http://home.com
。
我用下面創建一個指向性的屬性與params
前綴文件:
<property file="parameters.properties" prefix="params" />
,並使用一個屬性,我用:
${params.home-url}
問題來了當我需要將環境的前綴添加到參數。 它最終會這樣看,這顯然無法做到:
${params.${env-prefix}.home-url}
從外部讀取屬性文件時的回波剛打印$ {params。$ {env-prefix} .home-url}而不是文件中該屬性的值。 – Stimsoni
我也嘗試了它也從外部屬性文件,它的工作。我更新了我的答案,以反映我所做的。如果屬性文件中不存在,我會得到'$ {params.dev.home-url}'。你使用的是什麼版本的Ant(' $ {ant.version} ')?我正在使用1.8.2。 –
creemama
啊,我得到了你看到的行爲,如果沒有定義'env-prefix'。如果您嘗試從命令行執行Ant構建文件,請執行'ant -Denv-prefix = dev'。 – creemama