wyłącz wskaźnik postępu pobierania Maven

162

W naszej firmie na maszynach CI lokalne repozytorium jest czyszczone przed każdą kompilacją. W rezultacie moje dzienniki kompilacji zawsze mają taki hałas

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

Czy jest opcja, żebym mógł wyłączyć wskaźnik postępu pobierania?

gsf
źródło

Odpowiedzi:

220

mvn -B ..lub mvn --batch-mode ...załatwi sprawę.

Aktualizacja

khmarbaise
źródło
3
dziękuję, zrobiłem to, czy mogę też pozbyć się pobierania / pobierania linii?
gsf
Możesz spróbować, mvn -qale wtedy nie zobaczysz również innej wiadomości. Może możesz zajrzeć tutaj .
khmarbaise
1
mvn - tryb wsadowy ... | grep -v 'Pobieranie. * http: //' jest tym, czego czasami używam, aby pozbyć się wiadomości pobierania *.
Lars Kiesow
Czy to działa dla wszystkich wersji Mavena? Wygląda na to, że w moim przypadku (wersja 2.0.4), maven nadal drukuje brzydkie "pobrane ..." linie, niezależnie od dodania flagi -B.
Kamil
3
@Barett, link, który podałeś, jest tylko dokumentacją wtyczki wydania. W ogóle nie wspomina, jak --batch-modewpływa na wydajność.
Superole
71

Przede wszystkim, jak już odpowiedział khmarbaise, powinieneś użyć, mvn -Baby włączyć tryb wsadowy.

Jeśli chcesz również pozbyć się wierszy „Pobieranie / Pobieranie”, możesz ustawić odpowiedni rejestrator org.apache.maven.cli.transfer.Slf4jMavenTransferListenerna poziom wyższy niż info. Dlatego wykorzystałem org.slf4j.simpleLogger.lognieruchomość zgodnie z dokumentacją tutaj .

Używając tylko wiersza poleceń, możesz to zrobić:

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

Lub możesz użyć MAVEN_OPTSzmiennej środowiskowej, jak opisano tutaj :

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

Uwaga: o ile wiem, działa to tylko dla Maven 3.1 i nowszych.

FelixRabe
źródło
4
To jest świetne. Można również dodać org.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warndo $ MAVEN_HOME / conf / logging / simplelogging.properties, aby było trwałe.
Ben
To rozwiązanie pomija wysyłanie wiadomości, a także pobieranie, co zwykle nie jest pożądane w deployzadaniu
Hilikus
Ustawia poziom na WARN, więc nadal będziesz wiedzieć, czy jest problem. Ale zgadzam się, że fajnie byłoby mieć osobną oprawę.
Olivier Gérardin
18

Począwszy od Maven 3.6.1, Maven ma teraz opcję wstrzymania postępu transferu podczas pobierania / przesyłania w trybie interaktywnym.

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

lub w skrócie:

mvn -ntp ... ....

Pełną informację o wydaniu można znaleźć tutaj: http://maven.apache.org/docs/3.6.1/release-notes.html

Rene Larsen
źródło
0

Szybka odpowiedź, użyj trybu wsadowego Maven, dodaj następujące polecenie do polecenia Maven:

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

Na przykład:

mvn deploy -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
bladekp
źródło