IntelliJ IDEA + Maven iml文件中依赖项的需要是什么?

在Maven中,项目的依赖项在pom.xml文件中指定。 在IntelliJ IDEA中,即使对于Maven项目,相同的信息也存储在iml文件中。 在两个地方有相同信息的需要是什么?

导入Maven项目时,IDEA以其可以在内部理解和使用的格式表示其依赖项模型。 如果您通过Maven管理依赖项,则无需更改IntelliJ IDEA模块设置中的依赖项。

这也可用于在不更改pom.xml情况下试验依赖项。 请注意,您所做的所有修改都将在下一次Maven导入时恢复。

换句话说,IDEA不直接理解Maven模型,它将其转换为所有子系统使用的自己的项目模型,并且内部项目信息需要存储在某处,因此.iml文件和.idea项目目录。 这样,IDEA不需要在每次打开项目时分析pom文件并再次解析所有依赖项,只有在pom.xml发生更改时才会执行。

由于您可以在不使用Maven的情况下在IDEA中构建/运行/测试/部署/调试Maven项目,因此这些任务所需的信息将以IDE可以理解的格式存储。 它更快,更容易维护,我想比直接阅读Maven模型更容易实现。