2015-04-04 87 views
10

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

  • 它调用mvn编译?
  • 它做独立于maven的东西吗?

我试图测试这一点,当我点击Build > Rebuild Project我看不到这表明行家任何控制台输出运行,如果我从Maven项目运行Maven查看我得到行家的输出。

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

回答

15

不,IntelliJ IDEA make不会调用Maven。当您打开Maven或Gradle项目时,它会读取项目的设置并将它们存储为其内部项目模型的一部分。当您调用Build时,它会使用导入的设置使用其自己的构建系统编译您的项目。

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

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