disable maven download progress indication
MavenMaven Problem Overview
In our company in the CI machines maven local repository is purged before every build. As result my build logs always have a bunch of noise like this
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
Is there an option I to be able to disable the download progress indication?
Maven Solutions
Solution 1 - Maven
mvn -B ..
or mvn --batch-mode ...
will do the trick.
Update
- The documentation about batch mode see https://maven.apache.org/ref/3.6.1/maven-embedder/cli.html
- Starting with Maven 3.6.1 (released 2019-04-04) you can use
--no-transfer-progress
will suppress the output of downloading messages at all without suppressing the other output.
Solution 2 - Maven
First of all, as already answered by khmarbaise, you should use mvn -B
to enable batch mode.
If you want also to get rid of the "Downloading/Downloaded" lines you can set the corresponding logger org.apache.maven.cli.transfer.Slf4jMavenTransferListener
to a level higher than info. Therefore I used the org.slf4j.simpleLogger.log
property as documented here.
Using only the command line, you can do this:
mvn -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn -B ...
Or you can use the MAVEN_OPTS
environment variable as described here:
export MAVEN_OPTS=-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
Note: As far as I am aware this only works for maven 3.1 and above.
Solution 3 - Maven
Starting with Maven 3.6.1, Maven now has an option to suppress the transfer progress when downloading/uploading in interactive mode.
mvn --no-transfer-progress ....
or in short:
mvn -ntp ... ....
The full release note can be found here: http://maven.apache.org/docs/3.6.1/release-notes.html
Solution 4 - Maven
Quick answer, use maven batch mode, add following to your maven command:
-B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
For example:
mvn deploy -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
Solution 5 - Maven
Same as above answers, but you don't need to add options to command line everytime. Just add the lines into file ${maven.projectBasedir}/.mvn/maven.config
:
--no-transfer-progress
Then you can use mvn
as was:
mvn test
mvn deploy