Comment rendre le Système de commande des appels en Java/Groovy?
Ce que je veux faire, c'est appeler maven à partir d'un script groovy. Le groovy script en question est utilisé comme maven wrapper pour construire des projets J2EE en téléchargeant une balise et de l'invocation de maven sur ce qui a été téléchargé. Comment dois-je accomplir invoquant maven pour construire/package de l'OREILLE (le script groovy est déjà capable de télécharger de la balise à partir de la SCM).
Vous devez vous connecter pour publier un commentaire.
La façon la plus simple d'invoquer un processus externe en Groovy, est d'utiliser le execute() de commande sur une chaîne. Par exemple, pour exécuter maven à partir d'un script groovy exécuter ceci:
Si vous voulez capturer la sortie de la commande et peut-être l'imprimer, vous pouvez le faire:
La "cmd /c" au début invoque le shell de commande Windows. Depuis mvn.chauve-souris est un script batch vous avez besoin de cela. Pour Unix, vous pouvez appeler le shell du système.
C'est aussi simple que de faire
Si vous souhaitez obtenir de sortie d'impression sur la commande en cours d'exécution sur la sortie standard, vous pouvez le faire
Si vous souhaitez stocker et traiter la sortie que vous pouvez faire
Pour Java 7+ stdio redirection:
List
de args, assurez-vous que les éléments sont tousString
s et non pas GStrings par interpolation de variables. Aussi n'oubliez pas deredirectError
ainsi.Vous pouvez utiliser la classe d'Exécution pour lancer une commande shell. jetez un oeil ici: http://java.sun.com/javase/6/docs/api/java/lang/Runtime.html#exec(java.lang.Chaîne de caractères)
Vous pouvez ensuite saisir les résultats de l'exécution des Processus (à savoir si elle n'a pas ou pas).