我将优化构建项目的时间。最耗时的事情之一是项目的编译。
由于这里特别提到的 Maven 的已知问题:Maven增量构建 https://stackoverflow.com/questions/6281699/maven-incremental-building我们必须使用mvn 干净在每个构建过程之前。
我研究了这个问题并发现了两种方法:
- 增量构建插件 Maven Mojo http://maven-incremental-build.java.net/site/index.html
- Maven 2 反应器插件 http://maven.apache.org/plugins/maven-reactor-plugin/index.html
我已经测试过增量构建插件 Maven Mojo http://maven-incremental-build.java.net/site/index.html看起来不错。据我所知Maven 2 反应器插件 http://maven.apache.org/plugins/maven-reactor-plugin/index.html实现几乎相同的功能,但应指定特殊命令才能实现结果(mvn 反应器:make例如)。
所以我得出的结论是Maven 2 反应器插件 http://maven.apache.org/plugins/maven-reactor-plugin/index.html仅当开发人员要在本地计算机上优化建筑物的时间时才更方便。但我有些犹豫,因为Maven 2 反应器插件 http://maven.apache.org/plugins/maven-reactor-plugin/index.html被托管并且(据我认为)被支持为官方 Maven 插件,但是增量构建插件 Maven Mojo http://maven-incremental-build.java.net/site/index.html托管在 java.net 上。
我的问题是:
- 我的结论是这两个插件解决了几乎相同的问题吗?
- 有人有使用这两个插件的经验并能够提供有关它们的反馈吗?
- 您对建筑优化还有其他想法吗?
上面提到的两个插件都不会加快您的用例的编译时间。如果您想加快编译时间,我建议您更新到具有并行构建支持的 Maven 3。
然而,除了reactor插件的svn相关功能之外,上述插件所做的事情也可以通过maven3实现开箱即用。为此,您需要前一篇文章中提到的詹金斯。
有用的 Maven 3 功能可加快构建速度:
mvn clean compile -T 3 (using three threads for paralell builds)
mvn -amd -pl groupid:arifactId (builds the specified projects and all dependent artifacs)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)