Maven 2 像maven cli插件/mvnsh这样的东西是如何加速maven构建的?

Maven 2 像maven cli插件/mvnsh这样的东西是如何加速maven构建的?,maven-2,build,performance,Maven 2,Build,Performance,很抱歉在这里说不出话来,但我不明白为什么这些工具可以加快构建速度 例如(如果我理解正确的话),maven cli要求您执行一次构建:clean、compile、install,然后它通过缓存clean和compile短语来加速构建,因此您只能反复执行安装短语 乍一看,这似乎通过不一遍又一遍地通过整个循环来加快速度。然而,实际上,如果我在修改代码,我是否应该在运行安装之前重新编译代码?在这种情况下,速度是如何变快的?清洁阶段可能更快,但对于我的100个模块项目来说,清洁只需要5秒 那么,我是否完全

很抱歉在这里说不出话来,但我不明白为什么这些工具可以加快构建速度

例如(如果我理解正确的话),maven cli要求您执行一次构建:clean、compile、install,然后它通过缓存clean和compile短语来加速构建,因此您只能反复执行安装短语

乍一看,这似乎通过不一遍又一遍地通过整个循环来加快速度。然而,实际上,如果我在修改代码,我是否应该在运行安装之前重新编译代码?在这种情况下,速度是如何变快的?清洁阶段可能更快,但对于我的100个模块项目来说,清洁只需要5秒

那么,我是否完全被误解了这些工具?你能解释一下这些工具是如何提高速度的吗?谢谢

mvnsh:


mvn cli插件:

简而言之,这些工具的目的不是跳过阶段,而是通过将JVM、Maven引擎、插件等在每次构建时缓存在一个随时可用(重用)的环境中来避免初始化的成本

这篇博文对其进行了很好的总结(可能比FAQ中的总结要好):

Sonatype发布了一个漂亮的实用程序 称为Maven Shell,允许 开发人员要执行maven 预加载外壳中的目标/阶段 环境,显著减少 构建时间它通过 加载JVM、Maven和任何 加载一次插件并利用它 每个后续项目的现有荷载 构建。我下载了.10二进制文件和 玩得很开心 简单的多模块项目。这是一个 快速入门的一些事情,你 可以从Maven Shell那里得到

同一篇博文提供了一些指标,说明了在一个简单构建上的改进

我个人很喜欢Maven Shell,它真的是一个很棒的工具,并热情地推荐给任何Maven用户