禁用maven下载进度指示

8cdiaqws  于 2023-01-29  发布在  Maven
关注(0)|答案(7)|浏览(182)

在我们公司的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能够禁用下载进度指示?

trnvg8h3

trnvg8h31#

mvn -B ..mvn --batch-mode ...就可以了。

bogh5gae

bogh5gae2#

首先,正如khmarbaise已经回答的,应该使用mvn -B来启用批处理模式。
如果你还想去掉“Downloading/Downloaded”行,你可以将相应的logger org.apache.maven.cli.transfer.Slf4jMavenTransferListener设置为比info更高的级别。因此,我使用了org.slf4j.simpleLogger.log属性,如本文所述。
仅使用命令行,您可以执行以下操作:

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

也可以使用MAVEN_OPTS环境变量,如下所述:

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

**注:**据我所知,这只适用于maven 3.1及以上版本。

p5fdfcr1

p5fdfcr13#

从Maven 3.6.1开始,Maven现在有一个选项,可以在交互模式下下载/上载时抑制传输进度。
mvn --no-transfer-progress ....
或者简而言之:
mvn -ntp ... ....
完整版本说明可在此处找到:http://maven.apache.org/docs/3.6.1/release-notes.html

44u64gxh

44u64gxh4#

快速解答,使用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
xtupzzrd

xtupzzrd5#

和上面的答案一样,但你不需要每次都在命令行中添加选项,只需将这些行添加到${maven.projectBasedir}/.mvn/maven.config文件中即可:

--no-transfer-progress

然后可以使用mvn,如下所示:

mvn test
mvn deploy
dsekswqp

dsekswqp6#

禁止下载/已下载邮件的唯一***有用***方法如下:

mvn --batch-mode ... bla bla bla ... | grep -v 'Download.* http'

这是唯一有用的方法,因为它不会抑制任何其他内容,即上载/已上载的[INFO]消息,任何头脑正常的人都希望保留这些消息。

ndasle7k

ndasle7k7#

我使用的是apache-maven-3.8.6,在mvn中添加--no-transfer-progress选项对我很有效:
mvn --不传输-进行全新安装

相关问题