Nº
No se puede pasar argumentos que se utilizarán dentro de un fichero de construcción de esa manera. El ant bootstrap arg1 arg2 arg3
se resolverá cuando intente llamar a los siguientes destinos bootstrap
, arg1
, arg2
, arg3
- y, obviamente, solo existe el destino bootstrap
.
Si desea pasar argumentos que se utilizarán en el archivo de compilación, debe utilizar el formato -DpropertyName=value
. Por ejemplo:
ant bootstrap -Darg1=value1 -Darg2=value2 -Darg3=value3
Para otras formas, se puede escribir la escritura de inserción en el fichero de construcción (como beanshell o Javascript, con librerías de soporte guión de hormigas) para procesar los argumentos al principio. Por ejemplo, puede pasar los argumentos de esta manera:
ant bootstrap -Dargs=value1,value2,value3,...
y ahora usted tiene una propiedad denominada args
con el valor "valor1, valor2, valor3, ..." (para ... quiero decir que la el usuario puede escribir más de 3 valores). Se puede utilizar para dividir la beanshell args
a arg1
, arg2
y arg3
por ,
, y también hacer algunas comprobaciones ...
<script language="beanshell" classpathref="classpath-that-includes-the-beanshell-lib">
String[] args = project.getProperty("args").split(",");
project.setUserProperty("arg1", args[0].trim());
project.setUserProperty("arg2", args[1].trim());
project.setUserProperty("arg3", args[2].trim());
</script>
gracias por aclarar eso. pero ahora tengo que replantear mi solución. –