如何在多模块项目中计时(概述)maven目标

Bas*_*stl 10 build-automation performance profiling build-process maven-2

我们有一个包含许多子模块的庞大项目.完整版本目前需要超过30分钟.

我想知道这次是如何分配不同的插件/目标,例如测试,静态分析(findbugs,pmd,checkstyle等...)

是否有可能对构建进行计时以查看大部分时间花在哪里(在两个方面:模块和目标)?

Tim*_*sen 9

maven-buildtime-extension是一个maven插件,可用于查看每个目标的时间:

https://github.com/timgifford/maven-buildtime-extension


DaS*_*aun 0

我认为没有办法确定特定目标的时间安排。您可以做的是分别运行特定目标,看看它们需要多长时间。因此,不要执行“mvn install”来运行所有测试、checkstyle 等。只需执行“mvn checkstyle:checkstyle”来查看特定模块需要多长时间。

当由自动化服务器(Continum/jenkins/hudson)完成时,每次都完成所有事情是很好的,但是当您在本地构建时,有时最好能够编译。您可以做的一些事情是让静态分析目标仅在您传递特定参数或配置文件时运行。另一种选择是仅在 maven.test.skip=false 时运行它们。

如果您使用连续构建,请尝试每 4 小时或每天进行一次静态分析。