我正在使用本地工件来代理请求,但构建和测试阶段仍然有点慢.实际的编译和测试不是很慢,而是maven2框架的"热身".有任何想法吗?
有一些可能性来优化一些构建任务.例如,使用简单的技巧 - 重命名'target'文件夹而不是删除,可以将"干净"任务从几分钟到几毫秒进行优化.
要获取详细信息,请参阅加速Maven构建.
我不知道你正在使用什么版本的Maven,我假设2,但是我会将我用于Maven 1.x的内容加速并使得构建更快一点.
这些将junit测试分成一个新的进程(当你在测试中使用环境变量等时也有帮助,并为测试提供更多的内存.
-Dmaven.junit.fork=true -Dmaven.junit.jvmargs=-Xmx512m
这会分配可能会为您加速的编译
-Dmaven.compile.fork=true
我希望这可以帮助一点,尝试一下.
另请参阅使用maven2构建获得更快的速度.
如果您使用的是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
使用并行处理(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
并行处理(每个核心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] ------------------------------------------------------------------------
正如我们所看到的,差异几乎是一分钟,接近20-30%的速度提升.