varios programa getruntime ejecutar desde con comandos bat archivos aplicaciones abrir command-line groovy build-automation

command line - programa - ¿Cómo hacer llamadas de comandos del sistema en Java/Groovy?



ejecutar varios comandos cmd desde java (4)

Lo que quiero hacer es invocar maven desde un guión maravilloso. El guión groovy en cuestión se usa como envoltorio de maven para crear proyectos J2EE al descargar una etiqueta e invocar a maven en lo que se descargó. ¿Cómo debo lograr invocar a maven para construir / empaquetar el EAR (el script groovy ya es capaz de descargar la etiqueta de SCM).


Es tan simple como hacer

"yourCommand".execute();

Si desea obtener salidas de impresión en el comando ejecutado en salida estándar, puede hacer

def proc = "yourCommand".execute(); proc.waitForProcessOutput(System.out, System.err);

Si desea almacenar y procesar el resultado, puede hacerlo

def proc = "yourCommand".execute(); def outputStream = new StringBuffer(); proc.waitForProcessOutput(outputStream, System.err); println(outputStream .toString());


La forma más sencilla de invocar un proceso externo en Groovy es usar el comando execute () en una cadena. Por ejemplo, para ejecutar maven desde un script groovy ejecutar esto:

"cmd /c mvn".execute()

Si desea capturar la salida del comando y quizás imprimirlo, puede hacer esto:

print "cmd /c mvn".execute().text

El ''cmd / c'' al inicio invoca el shell de comandos de Windows. Como mvn.bat es un script por lotes, necesita esto. Para Unix, puede invocar el shell del sistema.


Para la redirección de Java 7+ stdio:

new ProcessBuilder(''cmd'', …args…).redirectOutput(ProcessBuilder.Redirect.INHERIT).start().waitFor();