我有一个包含多个maven模块的项目。由于这些模块之间存在如此多的依赖关系,所以我必须构建整个项目,而不是构建一些我需要测试的模块。建造它需要很长时间。
有没有办法通过shell命令在我的服务器上运行maven build来加速这个进程?
我尝试过-T标记在mvn参数中的多个变体,但它们都无助于加速构建过程。
帮助?有人吗?
发布于 2015-08-13 11:41:05
Maven不是魔法。如果您的构建过程是缓慢的,那么您必须分析它,确定哪些部分是缓慢的,然后找出改善情况的方法。
第一步是查看Maven在构建结束时报告的时间。在这里,您可以看到大多数时候需要哪些模块。
构建缓慢的几个常见原因:
发布于 2015-08-13 14:17:33
您可以做的一件事是使用-X或-debug从maven日志读取输出,然后对正在执行但不需要的任何内容执行并添加以下内容:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<executions>
<execution>
<id>default-testCompile</id>
<phase>none</phase>
</execution>
</executions>
</plugin>例如,您可以跳过运行的testCompile阶段,方法是将此执行行从上面添加到pom中。
之前在日志中:
[DEBUG] Goal: org.apache.maven.plugins:maven-compiler-plugin:3.2:testCompile (default-testCompile)
[DEBUG] Style: Regular
[DEBUG] Configuration: <?xml version="1.0" encoding="UTF-8"?>之后,在日志中:它根本没有出现。
在这样做的时候要小心,不要删除任何重要的东西。
发布于 2020-10-29 01:41:52
如果目标是加速CI服务器的构建,但只重建受更改影响的模块,那么hashver-maven-plugin就是要解决这个问题:https://github.com/avodonosov/hashver-maven-plugin。
https://stackoverflow.com/questions/31986623
复制相似问题