在我们公司的CI机器中,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
是否有选项可以禁用下载进度指示?
答案 0 :(得分:177)
mvn -B ..
或mvn --batch-mode ...
可以解决问题。
更新
--no-transfer-progress
来抑制下载消息的输出,而不会抑制其他输出。答案 1 :(得分:59)
首先,正如khmarbaise已经回答的那样,您应该使用mvn -B
启用批处理模式。
如果您还想摆脱“下载/下载”行,您可以将相应的记录器org.apache.maven.cli.transfer.Slf4jMavenTransferListener
设置为高于信息的级别。因此,我使用了here所记录的org.slf4j.simpleLogger.log
属性。
仅使用命令行,您可以执行以下操作:
mvn -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn -B ...
或者您可以使用here所述的MAVEN_OPTS
环境变量:
export MAVEN_OPTS=-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
注意:据我所知,这仅适用于maven 3.1及以上版本。
答案 2 :(得分:1)
从Maven 3.6.1开始,Maven现在具有在交互模式下下载/上传时抑制传输进度的选项。
mvn --no-transfer-progress ....
或简而言之:
mvn -ntp ... ....
完整的发行说明可以在这里找到:http://maven.apache.org/docs/3.6.1/release-notes.html
答案 3 :(得分:0)
快速解答,使用maven批处理模式,将以下内容添加到您的maven命令中:
-B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
例如:
mvn deploy -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn