Deaktivieren Sie die Fortschrittsanzeige für den Maven-Download


161

In unserem Unternehmen in den CI-Maschinen wird das lokale Maven-Repository vor jedem Build gelöscht. Infolgedessen haben meine Build-Protokolle immer ein solches Rauschen

Downloading: http://.../artifactory/repo/com/codahale/metrics/metrics-core/3.0.1/metrics-core-3.0.1.jar
4/2122 KB   
8/2122 KB   
12/2122 KB   
16/2122 KB   
18/2122 KB   
18/2122 KB   4/480 KB   
18/2122 KB   8/480 KB   
18/2122 KB   12/480 KB   
18/2122 KB   16/480 KB   
18/2122 KB   16/480 KB   4/1181 KB   
18/2122 KB   16/480 KB   8/1181 KB   
18/2122 KB   16/480 KB   12/1181 KB

Gibt es eine Option, mit der ich die Anzeige des Download-Fortschritts deaktivieren kann?

Antworten:


219

mvn -B ..oder mvn --batch-mode ...wird den Trick machen.

Aktualisieren

  • Die Dokumentation zum Batch-Modus finden Sie unter https://maven.apache.org/ref/3.6.1/maven-embedder/cli.html
  • Ab Maven 3.6.1 (veröffentlicht am 04.04.2019) können Sie --no-transfer-progressdie Ausgabe des Herunterladens von Nachrichten überhaupt unterdrücken, ohne die andere Ausgabe zu unterdrücken.

3
danke, das hat es geschafft, kann ich das Herunterladen / Herunterladen von Zeilen auch loswerden?
gsf

Sie können es versuchen, mvn -qaber dann werden Sie auch keine andere Nachricht sehen. Mai werden Sie einen Blick darauf werfen können hier .
Khmarbaise

1
mvn --batch-mode ... | grep -v 'Download. * http: //' ist das, was ich manchmal benutze, um die Download * -Nachrichten loszuwerden.
Lars Kiesow

Funktioniert es für alle Versionen von Maven? Es scheint in meinem Fall (Version 2.0.4), dass Maven immer noch hässliche "heruntergeladene ..." Zeilen drucken, unabhängig davon, ob das Flag -B hinzugefügt wird.
Kamil

3
@Barett Der von Ihnen angegebene Link ist nur eine Dokumentation des Release-Plugins. Es wird überhaupt nicht erwähnt, wie sich dies --batch-modeauf die Ausgabe auswirkt.
Superole

71

Wie bereits von khmarbaise beantwortet, sollten Sie mvn -Bzunächst den Batch-Modus aktivieren.

Wenn Sie auch die Zeilen "Herunterladen / Herunterladen" entfernen möchten, können Sie den entsprechenden Logger org.apache.maven.cli.transfer.Slf4jMavenTransferListenerauf eine höhere Stufe als info einstellen . Deshalb habe ich die org.slf4j.simpleLogger.logEigenschaft wie hier dokumentiert genutzt .

Sie können dies nur über die Befehlszeile tun:

mvn -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn -B ...

Oder Sie können die MAVEN_OPTSUmgebungsvariable wie hier beschrieben verwenden :

export MAVEN_OPTS=-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn

Hinweis: Soweit mir bekannt ist, funktioniert dies nur für Maven 3.1 und höher.


4
Das ist toll. Kann auch org.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warnzu $ MAVEN_HOME / conf / logging / simplelogging.properties hinzugefügt werden, um es dauerhaft zu machen.
Ben

Diese Lösung unterdrückt sowohl Upload-Nachrichten als auch Downloads, was in einer deployAufgabe normalerweise nicht erwünscht ist
Hilikus

Dadurch wird die Stufe auf WARN gesetzt, sodass Sie immer noch wissen, ob ein Problem vorliegt. Aber ich stimme zu, es wäre schön, eine separate Einstellung zu haben.
Olivier Gérardin


0

Schnelle Antwort, verwenden Sie den Maven-Batch-Modus und fügen Sie Ihrem Maven-Befehl Folgendes hinzu:

-B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn

Beispielsweise:

mvn deploy -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.