没有更好的解决方案
i有一个属性文件,在该文件中,用户应自由选择ANT环境中可用的任何属性。例如::
property.action=${other.property}
但是在运行时,我需要知道property.action
实际上已扩展到一个值。但是,如果未设置引用属性,则以下打印'$ {other.property}''
<property name="value" prop="property.action" />
<echo>
1: ${property.action}
2: ${other.property}
3: ${value}
</echo>
不可能在运行时间知道用户值包含的属性,因此我不能简单地使用ISSET,如果/等等检查每个属性。(我使用的是ant-contrib)。
我可能会在结果值上解决这个问题,检查那里没有可变的占位符。但是,对于Java/Ant吗?
使用Regex是禁食的解决方案,w/o。其他脚本::
<propertyregex property="check" select="1" defaultValue="" input="${value}" regexp=".*(${[A-Za-z0-9_.-]+}).*" />
<fail message="User setting failure, unexpanded variable: ${value}">
<condition>
<not><equals arg1="${check}" arg2=""/></not>
</condition>
</fail>