将另一个项目作为依赖项放入maven pom.xml时会发生什么

时间:2016-03-23 20:42:26

标签: maven dependencies pom.xml

我是Maven的新手。我在线搜索并知道如何将一个项目(将其命名为A)作为另一个项目的依赖项(将其命名为X)。这是通过在X的pom.xml文件中添加依赖块来完成的。

我的问题是,这背后的幕后真的发生了什么?根据我有限的知识,我通常通过在pom.xml中放置一个依赖项,它会自动为maven项目安装一个jar。 我也知道在这种情况下,A的所有依赖关系都将由X继承。

我猜A还会作为一个罐装入X吗?依赖项是库还是我自己的远程或本地项目之间的区别是什么?

1 个答案:

答案 0 :(得分:0)

不完全确定你的意思,但我会试一试。

正在发生的是依赖项(在您的情况下为A),其传递依赖项将自动下载并安装在本地存储库中。除非你告诉它,否则它不会为项目X做任何事情。除了安装项目A之外,它肯定会做任何事情,它完全没有意识到项目X正在使用它。

如果您希望Maven在本地存储库中安装项目X,则需要install它及其依赖项将隐式安装在该过程中。 Maven不会在中安装其他工件(不确定你的意思)。

以另一种方式表达:只有工件。这些工件具有坐标(groupIdartifactIdversion),以便能够在本地存储库中或远程定位它们。 Maven负责为您解决这些工件(及其依赖项)。