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