首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有任何方法加速maven构建吗?

有任何方法加速maven构建吗?
EN

Stack Overflow用户
提问于 2015-08-13 11:14:57
回答 3查看 1.5K关注 0票数 2

我有一个包含多个maven模块的项目。由于这些模块之间存在如此多的依赖关系,所以我必须构建整个项目,而不是构建一些我需要测试的模块。建造它需要很长时间。

有没有办法通过shell命令在我的服务器上运行maven build来加速这个进程?

我尝试过-T标记在mvn参数中的多个变体,但它们都无助于加速构建过程。

帮助?有人吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-08-13 11:41:05

Maven不是魔法。如果您的构建过程是缓慢的,那么您必须分析它,确定哪些部分是缓慢的,然后找出改善情况的方法。

第一步是查看Maven在构建结束时报告的时间。在这里,您可以看到大多数时候需要哪些模块。

构建缓慢的几个常见原因:

  • 与单元测试相比,人们更喜欢集成测试或端到端测试。解决方案:在桌面上编写更好的测试或禁用慢速测试--在CI服务器上整夜运行它们。
  • 庞大的代码库。解决办法:分开。
  • 您可以构建一个模块及其所有依赖项。这将跳过不包括在一个模块中的所有模块。解决方案:Maven Modules + Building a Single Specific Module
票数 3
EN

Stack Overflow用户

发布于 2015-08-13 14:17:33

您可以做的一件事是使用-X或-debug从maven日志读取输出,然后对正在执行但不需要的任何内容执行并添加以下内容:

代码语言:javascript
复制
<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中。

之前在日志中:

代码语言:javascript
复制
[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"?>

之后,在日志中:它根本没有出现。

在这样做的时候要小心,不要删除任何重要的东西。

票数 0
EN

Stack Overflow用户

发布于 2020-10-29 01:41:52

如果目标是加速CI服务器的构建,但只重建受更改影响的模块,那么hashver-maven-plugin就是要解决这个问题:https://github.com/avodonosov/hashver-maven-plugin

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31986623

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档