java - IntelliJ Build > Rebuild Project 是否调用 Maven?

标签 java maven intellij-idea

在 IntelliJ 14.1 中,当为 Maven 项目调用 Build > Rebuild Project 时到底发生了什么。

  • 它会调用 mvn compile 吗?
  • 它做一些独立于 maven 的事情吗?

我已经尝试对此进行测试,当我单击 Build > Rebuild Project 时,如果我从 maven 项目 View 运行 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 构建系统一起使用.

关于java - IntelliJ Build > Rebuild Project 是否调用 Maven?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29450883/

相关文章:

maven - Spring Boot 排除属性文件并在执行时将其提供给 jar

java - 我可以将构建器设计模式与 hibernate 一起使用吗?

Java Applet 字符串溢出

java - 查找pom.xml中的哪个依赖项包含指定的jar

java - 获取有关 Maven 依赖项的聚合信息

intellij-idea - 在 IntelliJ IDEA 中使用 Play 调试 SBT 项目

javascript - 在 PHPStorm 的 Javascript 中使用 Smarty

intellij-idea - intellij idea中的 "working set"等价物是什么?

javascript - 如何向 map 添加标记(不是谷歌)

java - AspectJ 与 toString()