2012-04-12 15 views
7

Tengo un archivo de propiedades que es generado por mi script ant en sí durante la ejecución. Y quiero acceder al valor de las propiedades de este archivo de propiedades generado.¿Es posible especificar el valor de la propiedad como propiedad en hormiga?

Por ejemplo,

archivo generado propiedad:

first.prop=abcd 
second.prop=pqrs 

y en escritura, estoy tratando de acceder a él de esta manera,

Estoy teniendo un nombre de propiedad (que yo quiero acceso y está en el archivo de propiedades generado) de alguna otra propiedad. Esa propiedad es name.prop. así,

<echo message="${name.prop}"/> 
<echo message="${${name.prop}}"/> 

da

first.prop 
${${name.prop}} 

como salida respectivamente. ¿Cuál puede ser la solución a esto?

Respuesta

8

Esto es de la doc:

la jerarquización de los apoyos

En su configuración por defecto Ant no intentará equilibrar los apoyos en expansiones de propiedad, sólo se consumirá el texto hasta el primer llave de cierre al crear un nombre de propiedad. Es decir. cuando se expande algo así como $ {a $ {b}} será traducido en dos partes:

  • la expansión de la propiedad de un $ {b - probablemente nada útil.
  • el texto literal} resultante de la segunda llave de cierre

Esto significa que no puede utilizar simplemente ampliar propiedades cuyos nombres son determinado por las propiedades, pero hay algunas soluciones para las versiones más antiguas de hormiga. Con Ant 1.8.0 y el props Antlib puede configurar Ant para usar el NestedPropertyExpander definido allí si necesita dicha característica .

Por lo tanto, no está disponible fácilmente. Soluciones provisionales (utilizando <script /> o <macrodef /> se pueden encontrar here in the official ant faq.

0
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 ${[email protected]{prop}}</echo> 
    </sequential> 
</for> 

Got Ans as below: 
a is val1 
b is val2 
c is val3 

Enjoy! 
Cuestiones relacionadas