IntelliJ Build > Rebuild Project 是否调用 maven?

2022-09-03 13:41:10

在IntelliJ 14.1中,当为maven项目调用时究竟发生了什么。Build > Rebuild Project

  • 它叫 mvn 编译吗?
  • 它是否做了一些独立于maven的事情?

我尝试对此进行测试,当我单击时,我看不到任何指示maven正在运行的控制台输出,如果我从maven项目视图运行maven,我会获得maven输出。Build > Rebuild Project

那么,项目和构建工具之间的关系究竟是什么?IntelliJ Build > Rebuildmaven / gradle / ant


答案 1

不,IntelliJ IDEA make 不会调用 Maven。当您打开 Maven 或 Gradle 项目时,它会读取项目的设置并将其存储为其内部项目模型的一部分。调用生成时,它将使用导入的设置,通过自己的生成系统编译项目。重建项目保留现有的导入设置,删除所有.class文件和 IntelliJ 的增量编译缓存,并使用 IntelliJ IDEA 的构建系统执行项目的完整构建。

这样做的好处是IntelliJ IDEA构建系统支持非常细粒度的增量重建(例如,如果您更改方法的签名,它将仅重新编译那些实际调用该方法的类,而不是任何其他代码)。

请注意,您可以将 IntelliJ IDEA 配置为在主项目编译之前或之后运行 Ant 任务或 Maven 目标,因此,如果您的构建正在执行非标准操作,您仍然可以将其与 IntelliJ IDEA 构建系统一起使用。


答案 2

推荐