désactiver l'indication de progression du téléchargement maven

162

Dans notre entreprise, le référentiel local des machines CI maven est purgé avant chaque build. En conséquence, mes journaux de construction ont toujours un tas de bruit comme celui-ci

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-t-il une option pour pouvoir désactiver l'indication de progression du téléchargement?

gsf
la source

Réponses:

220

mvn -B ..ou mvn --batch-mode ...fera l'affaire.

Mettre à jour

  • La documentation sur le mode batch voir https://maven.apache.org/ref/3.6.1/maven-embedder/cli.html
  • À partir de Maven 3.6.1 (publié le 04/04/2019) que vous pouvez utiliser --no-transfer-progress, vous supprimerez du tout la sortie des messages de téléchargement sans supprimer l'autre sortie.
khmarbaise
la source
3
merci, c'est fait, puis-je aussi me débarrasser des lignes téléchargées / téléchargées?
gsf
Vous pouvez essayer, mvn -qmais vous ne verrez pas non plus d'autres messages. Vous pouvez peut-être jeter un œil ici .
khmarbaise
1
mvn --batch-mode ... | grep -v 'Download. * http: //' est ce que j'utilise parfois pour me débarrasser des messages de téléchargement *.
Lars Kiesow
Fonctionne-t-il pour toutes les versions de maven? Il semble que dans mon cas (version 2.0.4), maven imprime toujours les lignes "téléchargées ..." laides malgré l'ajout du drapeau -B.
Kamil
3
@Barett le lien que vous avez fourni n'est que la documentation du plugin release. Il ne mentionne pas du tout comment --batch-modeaffecte la sortie.
Superole
71

Tout d'abord, comme l'a déjà répondu khmarbaise, vous devez utiliser mvn -Bpour activer le mode batch.

Si vous souhaitez également vous débarrasser des lignes "Téléchargement / Téléchargement", vous pouvez régler l'enregistreur correspondant org.apache.maven.cli.transfer.Slf4jMavenTransferListenerà un niveau supérieur à info. Par conséquent, j'ai utilisé la org.slf4j.simpleLogger.logpropriété telle que documentée ici .

En utilisant uniquement la ligne de commande, vous pouvez faire ceci:

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

Ou vous pouvez utiliser la MAVEN_OPTSvariable d'environnement comme décrit ici :

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

Remarque: pour autant que je sache, cela ne fonctionne que pour maven 3.1 et supérieur.

FélixRabe
la source
4
C'est bien. Peut également ajouter org.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warnà $ MAVEN_HOME / conf / logging / simplelogging.properties, pour le rendre permanent.
Ben
Cette solution supprime les messages de téléchargement ainsi que les téléchargements, ce qui n'est généralement pas souhaité dans une deploytâche
Hilikus
Il définit le niveau sur WARN afin que vous sachiez toujours s'il y a un problème. Mais je suis d'accord que ce serait bien d'avoir un réglage séparé.
Olivier Gérardin le
18

À partir de Maven 3.6.1, Maven a maintenant une option pour supprimer la progression du transfert lors du téléchargement / téléchargement en mode interactif.

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

ou en bref:

mvn -ntp ... ....

La note de publication complète peut être trouvée ici: http://maven.apache.org/docs/3.6.1/release-notes.html

René Larsen
la source
0

Réponse rapide, utilisez le mode batch maven, ajoutez ce qui suit à votre commande maven:

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

Par exemple:

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