Je dois exécuter une tâche ant pour chaque ligne d'un fichier donné. Toutes les idées ont apprécié.Comment exécuter une tâche ant pour chaque ligne d'un fichier donné?
1
A
Répondre
2
J'ai un fichier de propriétés qui définit les processus qui doivent être exécutés. Tout ceci est sur une seule ligne et séparée par des virgules, pas plusieurs lignes comme vous l'avez spécifié. Ce answer montre comment itérer sur un fichier.
env.start=webserver:localhost, dataserver:localhost
puis dans mon dossier de fourmi qui gère l'exécution de l'application que je donne les résultats suivants
<target name="start-all" description="Start all processes specified in target-info.properties:env.start">
<foreach list="${env.start}" trim="yes" param="process.and.host" target="-start-process"/>
</target>
<target name="-start-process">
<property name="colon.separated.pattern" value="([^:]*):([^:]*)"/>
<propertyregex property="process" input="${process.and.host}" regexp="${colon.separated.pattern}" select="\1"/>
<propertyregex property="host" input="${process.and.host}" regexp="${colon.separated.pattern}" select="\2"/>
<condition property="start.target" value="start-${process}" else="-start-process-ssh">
<equals arg1="${host}" arg2="localhost" trim="yes" casesensitive="no"/>
</condition>
<antcall target="${start.target}"/>
</target>
$ {} start.target puis est exécutée pour les processus définis dans la propriété env.start par exemple
<target name="start-webserver" description="Start the webserver on this machine">
<echo>** Starting webserver **</echo>
<run-script dir="${project.base.dir}/apache-tomcat" script="${project.base.dir}/apache-tomcat/bin/startup" spawn="yes">
<args>
<env key="CATALINA_HOME" value="${project.base.dir}/apache-tomcat"/>
<env key="CATALINA_PID" value="${project.base.dir}/apache-tomcat/logs/pid_catalina"/>
</args>
</run-script>
</target>
<target name="start-dataserver" depends="decipher_caldb_password,check-event-seed,run-prestart-sql" description="Start the dataserver on this machine">
<run-calypso process="dataserver" class="calypsox.apps.startup.StartNOGUI" failonerror="yes"
args="-class com.calypso.apps.startup.StartDataServer"/>
</target>
Je peux commencer tous les processus définis dans env.start en exécutant
ant -f run.xml start-all
Questions connexes
- 1. Comment script Ant exécuter la commande pour chaque fichier
- 2. Exécuter une tâche Ant avec Maven
- 3. Exécuter inconditionnellement une tâche dans Ant?
- 4. Application Web pour exécuter une tâche de fourmi
- 5. SQL Exécuter pour chaque ligne de résultats
- 6. Comment exécuter une tâche ant sur des fichiers dans un dossier spécifié?
- 7. tâche Ant gc pour mxmlc?
- 8. tâche groovy ant
- 9. Tâche Ant personnalisée requise?
- 10. Exécuter une tâche Ant dans Maven uniquement si une propriété est définie
- 11. Comment créer un élément imbriqué pour une tâche ant?
- 12. Comment lancer sys.sp_addlogin dans une tâche ant sql?
- 13. Comment exécuter une tâche pour une période spécifique en Java.
- 14. ClassPath dans Ant pour tâche Javac
- 15. Sortie de la tâche java dans Ant
- 16. Comment exécuter périodiquement une tâche dans emacs?
- 17. ejb avec la tâche ANT
- 18. Ant tâche de suppression
- 19. Comment protéger une tâche/cible ANT contre une exécution accidentelle?
- 20. Comment utiliser la tâche exec Ant pour exécuter des commandes canalisées?
- 21. Insérer une ligne pour chaque
- 22. Exécuter un fichier jar en utilisant Ant
- 23. exécuter la classe dans le fichier jar avec ant
- 24. Comment puis-je exécuter un script Perl à l'aide de la tâche exec Ant?
- 25. Comment spécifier un fichier à transmettre à un processus Java exécuté par une tâche Ant?
- 26. Où puis-je obtenir la tâche Ant Ant Ant?
- 27. Comment supprimer une tâche (ligne) avec Interop.MSProject
- 28. tâche ANT sql: comment exécuter SQL et PL/SQL et notez l'échec de l'exécution?
- 29. Exécuter myVBS Tâche planifiée
- 30. Arrêt d'une tâche java parallèle avec ant
Pouvez-vous donner un exemple de ce que vous entendez par "chaque ligne d'un fichier donné"? Bien sûr – JoseK
, supposons un fichier comme: param1 param2 param3 param4 param5 Param6 ... Je voudrais fourmi de lire ce fichier et transmettre les paramètres à une sous-tâche. – SorinS