有人可以解释IntelliJ,Maven和pom.xml如何协同工作吗?

abc*_*112 5 intellij-idea pom.xml maven

如果我通过在pom.xml中输入依赖项来添加依赖项,则会在项目结构>库中将其添加为"java库" .这使用Maven添加库.对?

但是,在项目结构>库中,可以选择添加Maven项目,但这些项目不会添加到pom.xml中,而是显示为maven库,而不是项目视图中的java库.为什么?有什么不同?

从maven使用新库当然很方便,因为你可以搜索库.但是,没有添加到pom.xml的库似乎是一个缺点,因为这样一些库将在pom.xml中,而其他库则不在.

有人能解释这一切是如何运作的吗?

eko*_*nov 1

关于 Maven - 它的主要目标是支持稳定状态的开发。为了实现这一目标,Maven 试图解决以下几个方面的问题:

  • 允许透明迁移到新功能
  • 提供统一的构建系统
  • 使构建过程变得简单
  • 提供优质项目信息

项目对象模型或 POM 是 Maven 中最重要的工作单元之一。正如您所知,它是一个 XML 文件,其中包含有关项目的信息以及 Maven 用于构建项目的配置详细信息。所以是的 - 如果您在 POM 和项目结构中添加 .jar 作为依赖项,它也会在 VCS 中自动创建此类依赖项。

根据我使用 IntelliJ Idea 的经验,记住在 Subversion 中添加这个新的 .jar 也非常重要(右键单击 .jar > Subversion > 添加)。有几次 ItelliJ Idea 将其设置为本地更改,但实际上您没有提交此文件 - 相信我,处理它非常烦人。也许 POM 最重要的一点是它有助于避免所谓的“Jar hell”。在 POM 中设置目标,因此当执行任务或目标时,Maven 会在当前目录中查找 POM。它读取 POM,获取所需的配置信息,然后执行目标。

另外作为提示 - 在更新 POM 和 Maven 时,我更喜欢使用文件系统和 cmd。通过这样做,我成功地避免了一两次 IntelliJ“误读”。“生命周期”命令也非常有用。例如clean//verifyinstall