如果我通过在pom.xml中输入依赖项来添加依赖项,则该依赖项将作为“java库”添加到项目结构>库中。这使用Maven添加库。正确的?
但是,在项目结构>库中,可以选择添加Maven项目,但是这些项目不会添加到pom.xml中,而是在项目 View 中显示为maven库,而不是Java库。为什么?有什么不同?
从Maven使用新库>当然很方便,因为您可以搜索库。但是,未添加到pom.xml的库似乎是一个缺点,因为这样某些库将位于pom.xml中,而其他库则不在。
有人可以解释这一切如何运作吗?
最佳答案
关于Maven-其主要目标是以稳定的状态来支持开发。为了实现此目标,Maven尝试处理几个令人关注的领域:
项目对象模型或POM是Maven中最重要的工作单元之一。如您所知,这是一个XML文件,其中包含有关项目的信息以及Maven用于构建项目的配置详细信息。所以是的-如果将.jar作为依赖项添加到POM和Project结构中,它也会在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