当前位置: 首页 > 面试题库 >

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

孔驰
2023-03-14
问题内容

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


问题答案:

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

这也可以用来试验依赖项而无需更改pom.xml。请注意,您所做的所有修改将在下一次Maven导入时恢复。

换句话说,IDEA不能直接理解Maven模型,而是将其转换为所有子系统使用的自己的项目模型,并且内部项目信息需要存储在某个位置,因此需要存储.iml文件和.idea项目目录。这样,IDEA不需要每次打开项目时都分析pom文件并再次解决所有依赖关系,只有在pom.xml更改时才完成。

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



 类似资料:
  • 对于我的一些模块,Intellij的想法不是导入依赖项和插件。只导入活循环。 当我在命令行编译时,POM是有效的。我已经删除了模块并重新导入它们。我删除了他们的项目,并重新导入它。 所以我想知道Intellij在模块上的想法信息被删除后是否有一些秘密缓存。

  • 我在IntellijIDEA中有一个项目是用Maven创建的。然后我在pom.xml文件中指定了一组依赖项和外部存储库。 如果我执行“mvn install”,那么项目在命令行上构建得很好。但是,当我打开IDE中的任何代码文件时,它会说Maven依赖项处理的所有类都无法识别--如果我从未将所需的JAR添加到构建路径中,这对于一个正常的项目来说是一样的。 我知道在我的Eclipse Maven项目(

  • 当我运行一个JUnit5测试时,我得到以下错误: 通过挖掘堆栈溢出和其他站点,我仍然不太确定我遗漏了什么。如果有什么不同的话,我将使用Java8。

  • Android Studio项目中的文件是什么?我读到它是模块的配置文件。我不明白它是如何工作的,难道我就不能使用gradle脚本与您添加到项目中的外部模块集成吗。 而且,大多数时候AS生成它们,所以我无法控制项目行为。如果我有一个团队在不同的IDE(如Eclipse和AS)中工作,有没有可能将我的项目设置成IDE不可知? 我不完全理解这个系统是如何运作的。

  • 这个问题将澄清什么是传递依赖,以及它在Maven中如何在非常高的级别上工作。 我的定义是:在依赖树中,比如-- 若C在B中有范围编译,那个么将B声明为A的依赖项就足以用Maven构建A。但是,如果C在B中提供了作用域,那么当Maven构建A时,除非A在其依赖项中声明C,否则该构建不会根据C自动编译A。 这是正确的吗?

  • 最近,我发现了以下问题: 当我为我的项目设置依赖项管理时,我有一个child-pom,它使用具有依赖项的插件,我想要与在我的依赖项管理中声明的依赖项同步。 在根pom中,我在依赖项管理中声明: 在子pom中,我有一个插件需要gwt-user: 但是,如果我移除gwt-maven-plugin中使用的依赖版本,编译就会失败。 是不是还有别的办法可以实现呢? PS:在maven和maven插件中有一个