2014-02-07 121 views
82

在我们公司的CI机器上maven本地存储库在每次构建之前被清除。因此,我的构建日志总是有一堆这样的噪音禁用maven下载进度指示

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 

有没有一个选项,我可以禁用下载进度指示?

回答

115

mvn -B ..mvn --batch-mode ...将做的伎俩。

+2

谢谢,这样做了,我可以摆脱下载/下载的行吗? – gsf

+0

你可以试试'mvn -q',但是你也不会看到其他消息。可能你可以看看[这里](http://maven.apache.org/maven-logging.html)。 – khmarbaise

+1

mvn --batch-mode ... | grep -v'Download。* http://'是我有时用来摆脱下载*消息。 –

39

首先,如已经由khmarbaise回答,您应该使用mvn -B启用批处理模式。

如果您还希望摆脱“下载/下载”行,您可以将相应的记录器org.apache.maven.cli.transfer.Slf4jMavenTransferListener设置为高于info的级别。因此,我使用了org.slf4j.simpleLogger.log财产作为记录here

只使用命令行,你可以这样做:

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

或者你可以使用MAVEN_OPTS环境变量描述here

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

注:至于我意识到这只适用于Maven 3.1及更高版本。

+2

这太好了。也可以将$ org.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener = warn添加到$ MAVEN_HOME/conf/logging/simplelogging.properties中,使其成为永久的。 – Ben