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?

gsf
quelle

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.
khmarbaise
quelle
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.

FelixRabe
quelle
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
18

Ab Maven 3.6.1 hat Maven nun die Option, den Übertragungsfortschritt beim Herunterladen / Hochladen im interaktiven Modus zu unterdrücken.

mvn --no-transfer-progress ....

oder kurz:

mvn -ntp ... ....

Den vollständigen Versionshinweis finden Sie hier: http://maven.apache.org/docs/3.6.1/release-notes.html

Rene Larsen
quelle
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
klingenkp
quelle