ANT 从 属性 个文件中读取 属性,使用 ANT 属性

ANT Reading property from property files, using an ANT property

给你一个简单的问题..

我有一个 属性 文件,其值类似于

 CommercialManager=MOT
 CommercialUser=AT
 CommercialAdmin=POT

我正在从 Jenkins 调用 Ant 脚本,传递一些变量.. 其中一些变量用于从 属性 文件中获取动态 属性..

我是说,如果我 select 从 select 列表中进入 jenkins 工作 CommercialAdmin 变量,我想获得具有该名称的 属性。

输入 Jenkins JOB 的值 select 设置在一个变量 ROLE 中,该变量被传递到我的 ANT 脚本..

在我的代码下面:

<property file="Profiles.properties" prefix="profiles"/>

<echo>${profiles.CommercialManager}</echo> 

这样做一切正常,打印出来 交通运输部 但是正如您所看到的,该值不是动态的,不是从 jenkins 作业中获取的值..

所以我应该这样做:

<echo>${ROLE}</echo>

但是如果我这样做,打印 returns 属性 ROLE 的值是:

profiles.CommercialManager

而不是从属性文件中获取的值..

我该如何管理?我认为这很容易但是,已经晚了,我陷入了混乱的海洋..

非常感谢!

有多种方法可以从其他线程中描述的变量中动态获取 属性 值:

  • In Ant, how can I dynamically build a property that references a property file?
  • Dynamic property names in ant

就个人而言,我会使用 javascript:

<property file="Profiles.properties" prefix="profiles"/>

<script language="javascript"><![CDATA[
    project.setProperty("CommercialManager", project.getProperty("${Role}"))
]]>
</script>

<echo>${CommercialManager}</echo>