Подтвердить что ты не робот

IntelliJ IDEA + Maven, что нужно для записей зависимостей в iml файле?

В Maven зависимости проекта указаны в файле pom.xml. В IntelliJ IDEA одна и та же информация хранится в файле iml даже для проектов Maven. Какая потребность в том, чтобы одна и та же информация была в двух местах?

4b9b3361

Ответ 1

При импорте проекта Maven IDEA представляет модель зависимостей в формате, который он может понять и использовать внутри. Если вы управляете зависимостями через Maven, вам не нужно изменять зависимости в настройках модуля IntelliJ IDEA.

Это также можно использовать для экспериментов с зависимостями без изменения pom.xml. Обратите внимание, что все внесенные вами изменения будут отменены при следующем импорте Maven.

Другими словами, IDEA не понимает модель Maven напрямую, она преобразует ее в свою собственную модель проекта, используемую всеми подсистемами, а внутренняя информация о проекте должна храниться где-то, следовательно, файлы .iml и .idea каталог проекта. Таким образом, IDEA не нужно анализировать файл pom каждый раз, когда вы открываете проект и снова разрешаете все зависимости, это делается только при изменении pom.xml.

Поскольку вы можете создавать/запускать/тестировать/развертывать/отлаживать проекты Maven в IDEA без использования Maven, информация, необходимая для этих задач, сохраняется в формате, который IDE может понять сам. Это быстрее, проще в обслуживании, и я думаю, было проще реализовать, чем прямое чтение модели Maven.