是否有可能在蚂蚁中指定属性值作为属性?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了是否有可能在蚂蚁中指定属性值作为属性?相关的知识,希望对你有一定的参考价值。
我有一个属性文件,由我的ant脚本本身在执行期间生成。我想从这个生成的属性文件中访问属性的值。
例如,
生成的属性文件:
first.prop=abcd
second.prop=pqrs
在脚本中,我试图像这样访问它,
我有一个属性名称(我想访问并在生成的属性文件中)来自其他一些属性。那个属性是name.prop
。所以,
<echo message="${name.prop}"/>
<echo message="${${name.prop}}"/>
给
first.prop
${${name.prop}}
分别作为输出。有什么可以解决这个问题?
答案
这是来自doc:
嵌套大括号
在默认配置中,Ant不会尝试平衡属性扩展中的大括号,它只会在创建属性名称时使用文本到第一个右大括号。即在扩展诸如$ {a $ {b}}之类的东西时,它将被翻译成两部分:
- 财产扩张a $ b - 可能没用。
- 由第二个右括号产生的文字文本}
这意味着您不能轻易地使用名称由属性提供的扩展属性,但是对于旧版本的Ant,有一些解决方法。使用Ant 1.8.0和props Antlib,如果需要这样的功能,可以将Ant配置为使用在那里定义的NestedPropertyExpander。
所以它不容易获得。解决方法(使用<script />
或<macrodef />
可以找到here in the official ant faq。
另一答案
I tried this, to get similar values<br/>
prop.properties contains:
a=val1
b=val2
c=val3
batch.props=a,b,c
<for list="${batch.props}" param="prop">
<sequential>
<echo>@{prop} is ${batch.@{prop}}</echo>
</sequential>
</for>
Got Ans as below:
a is val1
b is val2
c is val3
Enjoy!
以上是关于是否有可能在蚂蚁中指定属性值作为属性?的主要内容,如果未能解决你的问题,请参考以下文章