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?

Odpowiedzi:


220

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

Aktualizacja


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.


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


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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.