23

Вопрос по java, intellij-idea, maven – IntelliJ IDEA + Maven, зачем нужны записи зависимостей в файле iml?

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

1ответ

24

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

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

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

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

RelatedQuestions