desativar indicação de progresso do download do maven


162

Em nossa empresa, nas máquinas de CI, o repositório local enviado é eliminado antes de cada compilação. Como resultado, meus logs de compilação sempre têm muito barulho como este

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

Existe uma opção para poder desativar a indicação de progresso do download?

Respostas:


220

mvn -B ..ou mvn --batch-mode ...fará o truque.

Atualizar


3
obrigado, fiz isso, também posso me livrar das linhas de download / download?
Gsf

Você pode tentar, mvn -qmas não verá outra mensagem também. Pode ser que você pode dar uma olhada aqui .
Khmarbaise

1
mvn - modo de lote ... | grep -v 'Download. * http: //' é o que às vezes uso para me livrar das mensagens de download *.
Lars Kiesow

Funciona para todas as versões do maven? Parece que, no meu caso (versão 2.0.4), ainda é possível imprimir linhas feias "baixadas ...", independentemente da adição do sinalizador -B.
Kamil

3
@ Baret, o link que você forneceu é apenas a documentação do release-plugin. Não menciona de maneira alguma como --batch-modeafeta a saída.
Superole 27/02

71

Primeiro, como já respondido por khmarbaise, você deve usar mvn -Bpara ativar o modo em lote.

Se você também quiser se livrar das linhas "Download / Downloaded", defina o logger correspondente org.apache.maven.cli.transfer.Slf4jMavenTransferListenerpara um nível superior a info. Portanto, usei a org.slf4j.simpleLogger.logpropriedade conforme documentado aqui .

Usando apenas a linha de comando, você pode fazer isso:

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

Ou você pode usar a MAVEN_OPTSvariável de ambiente conforme descrito aqui :

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

Nota: Pelo que sei, isso funciona apenas para o maven 3.1 e acima.


4
Isso é ótimo. Também pode adicionar org.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warna $ MAVEN_HOME / conf / logging / simplelogging.properties, para torná-lo permanente.
Ben

Esta solução suprime mensagens de upload e downloads, o que geralmente não é desejado em uma deploytarefa
Hilikus

Ele define o nível como WARN para que você ainda saiba se há algum problema. Mas concordo que seria bom ter uma configuração separada.
Olivier Gérardin 14/06


0

Resposta rápida, use o modo de lote maven, adicione o seguinte ao seu comando maven:

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

Por exemplo:

mvn deploy -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.