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.