IntelliJ Build> Rebuild Project是否会调用maven?

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

  • 它调用mvn编译吗?
  • 它是否独立于maven做了什么?

我试图测试这个,当我单击Build > Rebuild Project我看不到任何控制台输出指示maven正在运行,如果我从maven项目视图运行maven,我得到maven输出。

那么IntelliJ Build > Rebuild Project与构建工具(如maven / gradle / ant之间的关系到底是什么?

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

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

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