Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

disable maven download progress indication

Tags:

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.

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.


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


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