Почему Intellije Idea на этапе Build не переиспользует результат компиляции сделанный Maven
На сайте JetBrains Help прочитал что можно использовать ту же папку куда компилирует мавен для компиляции классов, это позволяет при компиляции мавеном переиспользовать скомпилированные классы, но там же сразу же написано что Intellij Idea не переиспоьлзует результат сделанный самим мавеном. а билдит все с нуля. Почему же Intellije Idea не переиспользует?
В разделе Use Maven output directories написано
If this checkbox is not selected, the build will be created in the regular IntelliJ IDEA's output directory USER_HOME\IdeaProjects<project>\classes\Production. If this checkbox is selected, the build is generated in the Maven's output directory, and the results of IntelliJ IDEA's compilation are reused. However, IntelliJ IDEA itself does not reuse Maven build results, and performs compilation from scratch.
JetBrains Help Importing Maven
Ответы (1 шт):
Intellije IDEA не переиспользует данные классы скомпилированные мавеном потому что имеет собственную систему инкрементной компиляции, которая отслеживает зависимости между компилируемыми файлами и перекомпилирует минимальный набор классов для каждого набора изменений.
Intellij Idea compiler recompiles already compiled project
Если надо, то можно делегировать компиляцию мавену, для этого отметить File | Settings | Build, Execution, Deployment | Build Tools | Maven | Runner | Delegate IDE build/run actions to Maven.
При изменении веток и если в новой ветке окажется более старый файл чем был в предыдущей ветке то IDE его не подхватит, в этом случае надо запускать либо mvn clean либо в меню Build -> Rebuild Project