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

时间:2014-08-18 11:12:59

标签: maven intellij-idea pom.xml

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

然而,在项目结构>库,有一个添加Maven项目的选项,但是这些被添加到pom.xml中,并且在项目视图中显示为maven库而不是java库。为什么?有什么区别?

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

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

1 个答案:

答案 0 :(得分:1)

关于Maven - 它的主要目标是以稳定的状态支持开发。为了实现这一目标,Maven试图处理几个令人关注的领域:

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

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

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

另外作为提示 - 在更新POM和Maven时,我更喜欢使用FileSystem和cmd。通过这样做,我设法避免一两个IntelliJ'误读'。非常有用的也是“生命周期”命令。例如clean / verify / install