Senden Maven-Ausgabe in Konsole und log-Datei mit pom
Frage: Beim ausführen von Maven in Eclipse, wie kann ich senden Sie die Ausgabe der Konsole auf Datei?
Möchte ich erreichen, dies mit einem pom-Einstellung oder ein maven-plugin. Ich mache nicht möchten, ändern Sie die run-Konfigurationen oder das maven-system-Einstellungen.
Als Referenz, ich bin mit Windows 7, Eclipse Luna, Java 6, Maven 3.
- Sie können nicht tun, sind die Antworten, die Sie haben sind der einzige Weg zu gehen. Wie würde Maven in der Lage sein, um eine Datei schreiben, bevor es gelesen hat, das POM? Betrachten Sie multi-Modul-Projekt auch, wo diese Konfiguration würde nur in ein Modul.
- Versuchen Sie es mit AOP. Erfolgreich war und die Umleitung der Protokolle, um die Datei durch die Anwendung Punkt-Schnitt auf der default-org.apache.maven.plugin.die Protokollierung.Log. Aber zu viel Aufwand für nichts. Give it a shot.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Als pro offizielle Kommandozeilen-Optionen, die Sie nutzen könnten
-l,--log-file <arg>
welche die:Als solche, Ausführung:
Nicht drucken würde nichts an der Konsole und automatisch umleiten gesamten build-Ausgabe der
output.log
Datei.Wenn Sie nicht wollen, geben Sie es jedes mal (oder Sie eigentlich gar nicht möchten, verwenden Sie den Befehl-Linie), und wollen Sie es als Standard-option (obwohl das selten der Fall würde ich annehme), könnten Sie mit neuen Optionen für die Befehlszeile das Verhalten seit der version 3.3.1 und haben eine
.mvn
Ordner, in dem die betroffenenpom.xml
Datei befindet, und einemaven.config
- Datei einfach nur die folgende Zeile:Ist, die
.mvn/maven.config
Datei ersetztMAVEN_OPTIONS
nur für sein Projekt, lokal, wo es erstellt wurde, mit den Möglichkeiten, die Sie bietet, nicht Auswirkungen auf andere baut, wie pro Maven-EinstellungenMAVEN_OPTIONS
.Dies ist ein IDE-unabhängige Lösung (es ist eine neue built-in-feature von Maven) und lokalen für ein Projekt, aber noch nicht über einfache POM-Bearbeitung, die nicht erreicht werden kann, da die erste phase der Maven-Standard-life-cycle-Phasen ist
validate
, die:Ist, während der Aufbau, also wenn das build hat bereits begonnen (und der generierten Ausgabe verwendet), überprüft er die
pom.xml
Datei, daher zu spät zum umleiten bauen-Ausgabe, dass in dieser Phase, basierend auf einigen POM Eigenschaften/plugin.Gehen Sie auf ausführen als, und wählen Sie
Run Configuration -> Commons -> Select a file
.Sollte dies umleiten der Ausgabe in die angegebene Datei.
Laut diese können Sie versuchen, die Bearbeitung der
${MAVEN_HOME}/conf/logging/simplelogger.properties
. Ich gab es eine schnelle versuchen und maven ist die Ausgabe umgeleitet wird, aber nichts anderes schriftlichstdout
(tests, zum Beispiel), noch schreibt Sie auf die Konsole<properties>
Abschnitt der Projekt-Datei, aber es scheint nicht zu funktionieren...Was zum erstellen einer Gabel von M2E und ändern Sie es zum Lesen der Ausgabe-Datei für den Start config aus pom.xml
https://github.com/eclipse/m2e-core.git
Eine mögliche Lösung ist die Einstellung der Ausgabe-format in der
mvn file
. Zum Beispiel in das Verzeichnis/usr/bin
fügen Sie die gewünschte Ausgabe-Information den Pfad der log gespeichert wird am Ende desexec "$JAVACMD" \
Linie: | tee /home/maven-log.melden Sie.Jedoch, es funktioniert nur, wenn der maven-Aufruf mit terminal-Linie; beim Aufruf von IDEs, wie eclipse, diese Lösung funktioniert nicht.