2011-01-20 17 views
11

Quiero guardar la salida de maven a un archivo, pero sin perder la salida a la consola. El uso de tee no es una opción porque corro bajo Windows y tampoco quiero agregar un binario tee.exe al árbol fuente.¿Cómo registrar la salida de maven a un archivo y sin ocultar la consola?

+3

No hay nada específico para este propósito. Sugiero preguntar en SuperUser.com si hay una forma de redirigir la salida de cmd tanto a un archivo como a la consola. –

+2

Esto es * específico * para maven y parece que maven aún no es compatible con esto, siendo realmente feo para un sistema de compilación. – sorin

+0

De acuerdo con el comentario @Sean, aquí hay posibles soluciones [¿Cómo redirigir la salida a un archivo de texto y la ventana de la consola (cmd) al mismo tiempo?] (Http://superuser.com/a/111854/24948) o [ Mostrar la salida del símbolo del sistema de Windows y redirigirla a un archivo] (http://stackoverflow.com/a/796492/251745) – chepseskaf

Respuesta

2

Uso:

> de nombre de archivo

al final de su comando mvn para enviar la salida a un archivo y luego usar algo como WinTail a la cola del archivo.

2

A partir de hoy, maven2 no es compatible con esto.

7

La salida del comando Maven 3 se puede redirigir ahora. Ver el siguiente comando en Windows:

mvn -X install > test.log 

Esto redireccionará la salida del comando a test.log archivo, ubicado en el directorio actual.

+2

No creo que esto resuelva el problema de descargarlo en la consola simultáneamente, por lo que él quiere usa tee –

2

Utilice Powercmd. Funciona como la solicitud de comando normal más algunas características adicionales como registrar automáticamente todo en la pantalla, varias ventanas, accesos directos.

6

Si está usando linux. puedes usar el comando de abajo. mvn install -X | tee log.txt

+1

Intenté esto y no imprime nada –

+0

Comprueba el archivo log.txt – Varun

+1

Quería decir que no se imprime en la consola. El archivo log.txt está bien –

1

uso de un comando de la cola tail-f nombre_archivo_anot_cronológicas en otra consola.

0

Como dijiste que estás en Windows. En powershell está el Tee-Object. Ejecuto Maven como tal: (tenga en cuenta que en PowerShell necesitará encerrar todo el -Dexec.args entre comillas).

mvn exec:java "-Dexec.mainClass=com.proj.main" "-Dexec.args=arg0 arg1" | Tee-Object -FilePath output.log 
Cuestiones relacionadas