【发布时间】:2014-04-09 19:51:43
【问题描述】:
我使用 Maven 已经有一段时间了,我对 Maven 存储库站点上显示的信息有疑问。我正在查看要粘贴到 spring-web-mvc 3.2.8.RELEASE 的 pom 中的标签,并注意到标题为“此工件依赖于”的表格,并看到下面列出的工件主机。
我的问题很简单:我是否应该在我的 pom 中包含该表中列出的所有依赖项?
【问题讨论】:
标签: maven dependencies pom.xml
我使用 Maven 已经有一段时间了,我对 Maven 存储库站点上显示的信息有疑问。我正在查看要粘贴到 spring-web-mvc 3.2.8.RELEASE 的 pom 中的标签,并注意到标题为“此工件依赖于”的表格,并看到下面列出的工件主机。
我的问题很简单:我是否应该在我的 pom 中包含该表中列出的所有依赖项?
【问题讨论】:
标签: maven dependencies pom.xml
要回答您的问题,您不需要包含工件依赖项部分中列出的所有依赖项。据我了解,当您在 pom 文件中包含依赖项时,maven 将自动下载任何需要的 jar。我之所以推断这一点,是因为除了我需要的 pom 之外,我个人不会添加任何工件的依赖项。
例如,如果我想要 spring-core,我会执行以下操作:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>3.2.8.RELEASE</version>
</dependency>
maven 会自动为我处理依赖关系。
一个很好的测试方法是在 eclipse 中打开一个新的 maven 项目并指定一个依赖项,例如,更新项目,然后签入 Maven 依赖项文件夹。
为了好玩,我对此进行了实验,确实如此,当您更新项目时,Maven 会下载任何必要的依赖项。在我的pom.xml 文件中仅放入上述依赖项后,我得到以下内容:
【讨论】:
无需下载所有这些。 Maven 将处理 pom 文件中提到的指定依赖项的所有工件的依赖项。
【讨论】: