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>
给你一个简单的问题..
我有一个 属性 文件,其值类似于
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>