您更喜欢哪种方法来改进 Maven 项目的增量构建?

2024-03-01

我将优化构建项目的时间。最耗时的事情之一是项目的编译。

由于这里特别提到的 Maven 的已知问题:Maven增量构建 https://stackoverflow.com/questions/6281699/maven-incremental-building我们必须使用mvn 干净在每个构建过程之前。

我研究了这个问题并发现了两种方法:

  1. 增量构建插件 Maven Mojo http://maven-incremental-build.java.net/site/index.html
  2. 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 上。

我的问题是:

  1. 我的结论是这两个插件解决了几乎相同的问题吗?
  2. 有人有使用这两个插件的经验并能够提供有关它们的反馈吗?
  3. 您对建筑优化还有其他想法吗?

上面提到的两个插件都不会加快您的用例的编译时间。如果您想加快编译时间,我建议您更新到具有并行构建支持的 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(使用前将#替换为@)

您更喜欢哪种方法来改进 Maven 项目的增量构建? 的相关文章

随机推荐

  • 确定查询是否在 vb.net 中返回“无行”

    我使用 MS SQL Server 作为数据库 使用 VB NET 作为后端 我想确定 sql 命令文本中的查询是否不返回任何行 我尝试有一个不返回任何行的查询 然后将其值赋给一个文本框 该文本框变为 0 整数 现在的问题是 当我在一个如果
  • 节能器启用和禁用后后台服务停止

    我有一个应用程序 在其中我在后台执行一些任务 因此 如果我的后台服务正在运行 该任务就会执行 问题 当我启用和禁用省电程序时 它会关闭所有内容并停止正在运行的每个后台服务 关闭省电程序后 直到我打开应用程序后 服务才开始启动 那么 对于低于
  • 何时使用 Apache 与 Apache+Tomcat?

    既然简单地使用 Apache 就足以运行许多 Web 应用程序 那么除了 Apache 之外 人们何时以及为何还使用 Tomcat 阿帕奇雄猫 http tomcat apache org是 Web 服务器和 Java servlet 容器
  • 如何改进这个平方根方法?

    我知道这听起来像是一项家庭作业 但事实并非如此 最近我对用于执行某些数学运算的算法感兴趣 例如正弦 平方根等 目前 我正在尝试编写巴比伦方法 http en wikipedia org wiki Babylonian method Baby
  • 如何从python中的pandas数据框中的列中提取关键字(字符串)

    我有一个数据框df它看起来像这样 id Type agent id created at 0 44525 Stunning 6 bedroom villa in New Delhi 184 2018 03 09 1 44859 Villa
  • 前向声明不适用于转换运算符

    考虑下一个代码 include
  • Android:以编程方式在 EditText 内居中文本

    有没有办法让输入的文本居中EditText场地 更具体地说 光标不应从框的左侧开始 而应从中心开始 并在填充输入时向外向左移动 你应该使用 textView setGravity Gravity CENTER HORIZONTAL
  • 通过 PEAR 安装 phpunit 后如何获得 phpunit.bat?

    我需要 phpunit bat 来配置我的 NetBeans IDE 我在用着wamp http www wampserver com 我只需使用以下说明通过 pear 安装 phpunit 在开始使用 PEAR 之前 请从以下位置下载最后
  • 如何找到我的 MySQL URL、主机、端口和用户名?

    我需要找到我的 MySQL 用户名 当我打开 MySQL 命令行客户端时 它只询问我的密码 我不记得我的用户名了 为了与 JDBC 连接 我需要 URL 主机和端口号 我在哪里可以找到所有这些 如果您已经登录命令行客户端 请尝试以下操作 m
  • 在 Geodjango + Postgres 中存储圆

    希望在 geodjango 字段中存储一个圆 以便我可以使用 geodjango 查询 contains 来查找圆中是否有一个点 类似于使用 PolygonField 可以完成的操作 目前将其存储为十进制半径和 GeoDjango 点字段
  • 如何使用 Google Calendar API v3/Google API 客户端库显示*所有*可用日历的列表?

    我一直在尝试使用 PHP 访问 Google Calendar API v3 最初 我想简单地列出我可以通过 API 调用访问的用户日历 为此 我下载了 Google API PHP 客户端库 并尝试使用以下代码 经过我的改编 来自http
  • IIS 7.5 上的 MVC5 路由错误 (404.0) 错误

    一个古老的故事是 在开发机器上一切正常 但在主机服务器上却不行 HTTP 错误 404 0 未找到 模块IIS 网络核心 通知地图请求处理器 处理程序静态文件 错误代码0x80070002 尝试通过添加在开发机器上产生相同的错误
  • 使用参数时“Between”运算符生成错误的查询计划

    我有一个简单的日期表 Date DateID 其中包含 1900 年 1 月 1 日到 2100 年 12 月 31 日之间的日期列表 当使用从表中选择时between运算符和硬编码参数值 我得到了一个正确的查询计划 其中有 3 个估计行与
  • 使用多个参数注册 DbContext

    我正在尝试将 TenantProvider 注入 DbContext public class AppDbContext IdentityDbContext
  • Django 装置使用默认值保存

    我正在使用 Django 1 7 但我的装置有问题 我希望 Django 使用默认值或使用save 方法来创建未指定的值 这是我当前的对象 File uuidable py import uuid from django db import
  • Java中共享内存的任何概念

    AFAIK Java中的内存是基于堆的 内存是动态分配给对象的 并且没有共享内存的概念 如果没有共享内存的概念 那么Java程序之间的通信应该是很耗时的 在 C 中 与其他通信模式相比 通过共享内存进行进程间通信更快 如我错了请纠正我 另外
  • 访问“仅差异”ZFS 快照

    有没有办法挂载仅包含特定于快照的文件的虚拟分区 我知道隐藏的 zfs 目录 但它包含快照时的所有文件 我的目标是使差异备份更快 提前致谢 greg 尽管安德鲁的建议zfs send如果您只是想 这是使用差异快照的正确方法see差异并在您自己
  • 无法将 python 配置为代理

    与我的问题相关的早期帖子都无法为我提供解决方案 所以我在一个新线程中发帖 我通过大学中经过身份验证的代理连接到互联网 所以在浏览器中 我输入我的用户名密码 但是我无法在 python 中下载数据 我在 python 2 7 中输入以下 4
  • 有没有办法将 Google colab 环境保存到某个地方并重新使用它?

    我尝试过 virtualenv 和 conda 它已成功安装 但我无法激活虚拟环境 然后我考虑将 Colab 环境 我的意思是已安装的库 保存到某个地方 也许是 Google Drive 然后我可以重用它 是否可以 对于提问者以及因同一问题
  • 您更喜欢哪种方法来改进 Maven 项目的增量构建?

    我将优化构建项目的时间 最耗时的事情之一是项目的编译 由于这里特别提到的 Maven 的已知问题 Maven增量构建 https stackoverflow com questions 6281699 maven incremental b