我怎样才能加快我的maven2构建速度?

s3v*_*3v1 32 maven-2

我正在使用本地工件来代理请求,但构建和测试阶段仍然有点慢.实际的编译和测试不是很慢,而是maven2框架的"热身".有任何想法吗?

小智 24

有一些可能性来优化一些构建任务.例如,使用简单的技巧 - 重命名'target'文件夹而不是删除,可以将"干净"任务从几分钟到几毫秒进行优化.

要获取详细信息,请参阅加速Maven构建.

  • 我暂时解决了这个问题并花时间写了一篇关于它的博客文章...希望它能帮助别人!http://www.urbancat.org/2012/05/how-to-speed-maven-up.html (2认同)

Hen*_*y B 9

我不知道你正在使用什么版本的Maven,我假设2,但是我会将我用于Maven 1.x的内容加速并使得构建更快一点.

这些将junit测试分成一个新的进程(当你在测试中使用环境变量等时也有帮助,并为测试提供更多的内存.

-Dmaven.junit.fork=true
-Dmaven.junit.jvmargs=-Xmx512m
Run Code Online (Sandbox Code Playgroud)

这会分配可能会为您加速的编译

-Dmaven.compile.fork=true
Run Code Online (Sandbox Code Playgroud)

我希望这可以帮助一点,尝试一下.

另请参阅使用maven2构建获得更快的速度.


fac*_*ias 7

如果您使用的是Maven3($ mvn -version),也可以按照本指南进行操作.就我而言,结果如下:

正常执行:

$ mvn clean install 
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 03:05 min
[INFO] Finished at: 2015-07-15T11:47:02+02:00
[INFO] Final Memory: 88M/384M
Run Code Online (Sandbox Code Playgroud)

使用并行处理(4个线程):

$ mvn -T 4 clean install
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 02:22 min (Wall Clock)
[INFO] Finished at: 2015-07-15T11:50:57+02:00
[INFO] Final Memory: 80M/533M
Run Code Online (Sandbox Code Playgroud)

并行处理(每个核心2个线程)

$ mvn -T 2C clean install

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 02:12 min (Wall Clock)
[INFO] Finished at: 2015-07-15T12:00:29+02:00
[INFO] Final Memory: 87M/519M
[INFO] ------------------------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)

正如我们所看到的,差异几乎是一分钟,接近20-30%的速度提升.