deshabilitar la indicación de progreso de descarga de maven

162

En nuestra empresa en las máquinas CI, el repositorio local de Maven se purga antes de cada compilación. Como resultado, mis registros de compilación siempre tienen un ruido 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 alguna opción para poder desactivar la indicación de progreso de descarga?

gsf
fuente

Respuestas:

220

mvn -B ..o mvn --batch-mode ...hará el truco.

Actualizar

khmarbaise
fuente
3
gracias, esto lo hizo, ¿puedo deshacerme de las líneas de descarga / descarga también?
gsf
Puede intentarlo, mvn -qpero no verá otro mensaje también. Puede ser que puedas echar un vistazo aquí .
khmarbaise
1
mvn - modo por lotes ... | grep -v 'Descargar. * http: //' es lo que a veces uso para deshacerme de los mensajes de descarga *.
Lars Kiesow
¿Funciona para todas las versiones de maven? Parece que en mi caso (versión 2.0.4), Maven todavía imprime líneas feas "descargadas ..." independientemente de agregar la bandera -B.
Kamil
3
@Barett el enlace que proporcionó es solo documentación del complemento de lanzamiento. No menciona en absoluto cómo --batch-modeafecta la producción.
Superole
71

En primer lugar, como ya respondió khmarbaise, debe usar mvn -Bpara habilitar el modo por lotes.

Si también desea deshacerse de las líneas "Descargando / Descargado", puede configurar el registrador correspondiente org.apache.maven.cli.transfer.Slf4jMavenTransferListenera un nivel superior a la información. Por lo tanto, utilicé la org.slf4j.simpleLogger.logpropiedad como se documenta aquí .

Usando solo la línea de comando, puede hacer esto:

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

O puede usar la MAVEN_OPTSvariable de entorno como se describe aquí :

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

Nota: Hasta donde yo sé, esto solo funciona para Maven 3.1 y superior.

FelixRabe
fuente
44
Esto es genial. También se puede agregar org.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warna $ MAVEN_HOME / conf / logging / simplelogging.properties, para que sea permanente.
Ben
Esta solución suprime los mensajes de carga así como las descargas, lo que generalmente no se desea en una deploytarea
Hilikus
Establece el nivel en WARN para que aún sepa si hay un problema. Pero estoy de acuerdo en que sería bueno tener una configuración separada.
Olivier Gérardin
18

Comenzando con Maven 3.6.1, Maven ahora tiene una opción para suprimir el progreso de la transferencia al descargar / cargar en modo interactivo.

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

o en resumen:

mvn -ntp ... ....

La nota de lanzamiento completa se puede encontrar aquí: http://maven.apache.org/docs/3.6.1/release-notes.html

René Larsen
fuente
0

Respuesta rápida, use el modo de lote de Maven, agregue lo siguiente a su comando de Maven:

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

Por ejemplo:

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