2011-01-20 9 views
11

Voglio salvare l'output di Maven in un file, ma senza perdere l'output in console. L'utilizzo di tee non è un'opzione perché eseguo Windows e inoltre non desidero aggiungere un tee.exe binario all'albero dei sorgenti.Come registrare l'output di Maven in un file e senza nascondere la console?

+3

Non c'è davvero nulla di specifico di Maven al riguardo. Suggerirei di chiedere su SuperUser.com se esiste un modo per reindirizzare l'output cmd sia su un file che sulla console. –

+2

Questo è * specifico * per rendere esperto e sembra che Maven non lo supporti ancora, questo è davvero brutto per un sistema di build. – sorin

+0

In base al commento @Sean, qui sono possibili soluzioni alternative [Come reindirizzare l'output in un file di testo e nella finestra della console (cmd) allo stesso tempo?] (Http://superuser.com/a/111854/24948) o [ Visualizzazione dell'output del prompt dei comandi di Windows e reindirizzamento a un file] (http://stackoverflow.com/a/796492/251745) – chepseskaf

risposta

2

Usa:

> file-name

alla fine del vostro comando mvn per inviare l'output in un file poi usare qualcosa come WinTail alla coda del file.

2

A partire da oggi, maven2 non supporta questo.

7

Maven 3 uscita comando può essere reindirizzato ora. Vedere il comando in basso sulle finestre:

mvn -X install > test.log 

Questo reindirizzerà l'output del comando per test.log di file, che si trova nella directory corrente.

+2

Non penso che questo risolva il problema di scaricarlo nella console simultanea, motivo per cui vuole usa il tee. –

2

Usa Powercmd. Funziona come un normale prompt dei comandi oltre ad alcune funzionalità aggiuntive come la registrazione automatica di tutto sullo schermo, più finestre, scorciatoie.

6

Se si utilizza Linux. puoi usare il comando muggito. mvn install -X | tee log.txt

+1

Ho provato questo e non stampa nulla –

+0

Controlla file log.txt – Varun

+1

Intendo dire che non stampa sulla console. Il log.txt va bene –

1

uso un comando tail tail -f log_file_name in un'altra console.

0

Dato che hai detto che sei su Windows. In PowerShell c'è lo Tee-Object. Eseguo Maven in quanto tale: (nota che in PowerShell è necessario racchiudere l'intero -Dexec.args tra virgolette).

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