在我们公司的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
是否有选项I能够禁用下载进度指示?
7条答案
按热度按时间trnvg8h31#
mvn -B ..
或mvn --batch-mode ...
就可以了。--no-transfer-progress
将完全抑制下载消息的输出,而不会抑制其他输出。bogh5gae2#
首先,正如khmarbaise已经回答的,应该使用
mvn -B
来启用批处理模式。如果你还想去掉“Downloading/Downloaded”行,你可以将相应的logger
org.apache.maven.cli.transfer.Slf4jMavenTransferListener
设置为比info更高的级别。因此,我使用了org.slf4j.simpleLogger.log
属性,如本文所述。仅使用命令行,您可以执行以下操作:
也可以使用
MAVEN_OPTS
环境变量,如下所述:**注:**据我所知,这只适用于maven 3.1及以上版本。
p5fdfcr13#
从Maven 3.6.1开始,Maven现在有一个选项,可以在交互模式下下载/上载时抑制传输进度。
mvn --no-transfer-progress ....
或者简而言之:
mvn -ntp ... ....
完整版本说明可在此处找到:http://maven.apache.org/docs/3.6.1/release-notes.html
44u64gxh4#
快速解答,使用maven批处理模式,将以下内容添加到您的maven命令:
例如:
xtupzzrd5#
和上面的答案一样,但你不需要每次都在命令行中添加选项,只需将这些行添加到
${maven.projectBasedir}/.mvn/maven.config
文件中即可:然后可以使用
mvn
,如下所示:dsekswqp6#
禁止下载/已下载邮件的唯一***有用***方法如下:
这是唯一有用的方法,因为它不会抑制任何其他内容,即上载/已上载的[INFO]消息,任何头脑正常的人都希望保留这些消息。
ndasle7k7#
我使用的是apache-maven-3.8.6,在mvn中添加--no-transfer-progress选项对我很有效:
mvn --不传输-进行全新安装