我在一个大型的Java项目上工作。我们使用maven作为构建工具,并使用Intellij(14)作为我的IDE。
目前,如果我构建整个项目(约15个模块),大约需要3分钟。由于我们使用代码的方式(即使在开发中),我最终经常进行完整的构建。在“测量得到的东西得到管理”的基础上,我希望能够监控/记录:
一种方法可能是将maven输出转储到文件,然后有一个进程来读取这些/计算我想要的统计信息。我该怎么做呢?
为了清楚起见,我不是要求就如何减少构建周期运行时提出意见/建议。我们已经在这方面做了相当多的工作,并且正在继续努力 - 事实上,我真的在寻找一种方法来监控我们在这方面的有效进展。
答案 0 :(得分:1)
This Maven Profile项目可以帮助您。
只需在$ {M2_HOME} / lib / ext上安装(复制)其latest版本jar,然后按以下步骤执行构建
mvn clean install -Dmaven.profile
将为您提供以下示例输出
com.sample:test:0.0.1-SNAPSHOT
clean 175ms
org.apache.maven.plugins:maven-clean-plugin:2.5 (default-clean) 175ms
process-resources 336ms
org.apache.maven.plugins:maven-resources-plugin:2.6 (default-resources) 335ms
compile 1s 2ms
org.apache.maven.plugins:maven-compiler-plugin:2.5.1 (default-compile) 1s 2ms
process-test-resources 9ms
org.apache.maven.plugins:maven-resources-plugin:2.6 (default-testResources) 9ms
test-compile 59ms
org.apache.maven.plugins:maven-compiler-plugin:2.5.1 (default-testCompile) 59ms
test 1s 83ms
org.apache.maven.plugins:maven-surefire-plugin:2.12.4 (default-test) 1s 83ms
package 352ms
org.apache.maven.plugins:maven-jar-plugin:2.4 (default-jar) 352ms
然后,您需要有一个用于数据累积的更多层(脚本?),以便获得交叉构建统计信息。但是,它已经回答了你的第三个问题,这可能是一个好的开始。