2016-03-22 1 views
0

S'il vous plaît trouverez ci-dessous le fichier ant exemple: - Lire un mot en ligne à partir d'un fichier texte et stocker que dans une variable dans le fichier de construction Ant

<taskdef resource="net/sf/antcontrib/antlib.xml"> 
 
    <classpath> 
 
    <pathelement location="../.ant/antcontrib.jar"/> 
 
    </classpath> 
 
    </taskdef> 
 
    <loadfile property="file" srcfile="./dist/DB_Critical_Stub_Data.txt"/> 
 
    <target name="read" depends="check-stub-status"> 
 
    <for param="line" list="${file}" delimiter="${line.separator}"> 
 
    <sequential> 
 
    <antcall target="start-stub"> 
 
    </antcall> 
 
    </sequential> 
 
    </for> 
 
    </target> 
 
    <target name="start-stub"> 
 
    <startStub domain="..." environment="..." name="@{line}" securityToken="..." serverURL="..." dedicatedEngine="false"/> 
 
    </target>

Comment puis-je entrer la valeur dans le nom (en début -stub target) tant que la boucle s'exécute. En d'autres termes, param = "line" doit remplir la valeur dans le champ name chaque fois qu'il lit une ligne du fichier texte. Puisque le fichier texte a 15 lignes et que chaque ligne est un seul mot, param = "line" n'enregistre de toute façon que chaque mot de ligne. et je veux que cela soit passé au champ de nom sous la cible start-stub pour la boucle entière de sorte que tous les 15 mots de ligne soient exécutés pour le nom.

Répondre

0

En fait, je l'ai fait fonctionner en utilisant foreach, puis en passant "$ {line}" au champ de nom. Pour cela, j'ai également supprimé la cible antcall et j'ai simplement renvoyé à target = "start-stub" dans l'instruction foreach. Fonctionne maintenant