【问题标题】:Speed up the build process in multi-module maven project with Intellij IDEA使用 Intellij IDEA 加快多模块 maven 项目的构建过程
【发布时间】:2015-02-12 13:30:25
【问题描述】:

我正在开发具有 23 个模块的多模块 Java EE Web 应用程序项目(maven 项目)。它有主要的 4 个模块,可以单独使用,其他模块支持这 4 个模块的后端模块。

项目构建完成后,需要 4-15 分钟才能完成构建过程,因为所有模块都是与构建过程一起构建的。

  • 重建时,我想避免使用 IDE 本身编译和打包未更改的源/模块。 (此外,我还需要选择性地清理那些更改的模块)
  • 我想用我需要的选定模块构建项目,而不使用命令行参数(使用 IDE 本身)。

我在某种程度上也了解 maven。请有人帮助我克服这些问题。

【问题讨论】:

  • 您使用哪些 maven 版本?您的插件或多或少是最新的?
  • 为什么构建时间如此不同?此外,对于这么几个模块来说,4-15 分钟听起来很多。
  • 我使用的是 Apache Maven 3.2.3。构建过程的时间我的意思是构建时间加上部署时间。

标签: maven jakarta-ee intellij-idea multi-module build-time


【解决方案1】:

您可以使用和选择您想要通过“--projects”构建的项目,如下所示。让我们想象一下你有这样三个模块:

 root (pom.xml)
   +--- m1 (pom.xml)
   +--- m2 (pom.xml)
   +--- m3 (pom.xml)

此外,m3 取决于 m2 和 m1。因此,如果您想在没有其他模块发生变化的情况下只构建 m3,您可以使用:

mvn -pl m3 

(请从根位置调用)。使用该 maven 构建 m3 模块,如果在远程存储库(存储库管理器)中找不到,将从本地存储库获取其他依赖项。如果不能确保仅使用当前状态,则必须在之前和之后执行一次mvn install,然后才能重用本地存储库中的其他模块。

还有其他可用的选项,如下所示:

 -am,--also-make                        If project list is specified, also
                                        build projects required by the
                                        list
 -amd,--also-make-dependents            If project list is specified, also
                                        build projects that depend on
                                        projects on the list

可以作为补充参数来构建这些模块。

我怀疑在 IntelliJ 中只有按钮/击键被配置为直接在 IntelliJ 中使用。但是您可以在 IntelliJ 中配置 Maven 的调用...

【讨论】:

  • 听起来不错。但是,一旦他或她添加了一些更改,这个开发人员必须更改 IntelliJ 的 maven 配置命令行。取而代之的是没有办法有条件地选择模块?我的意思是有没有办法识别哪个模块有变化并只重建那个模块......?
猜你喜欢
  • 1970-01-01
  • 2012-10-31
  • 2019-05-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-21
  • 1970-01-01
相关资源
最近更新 更多