我已经和Maven一起工作了一段时间,我对Maven资源库网站上显示的信息有疑问。我正在查看要粘贴到我的pom中的标签spring-web-mvc 3.2.8.RELEASE
,并注意到带有“此工件依赖于”标题的表格,并看到下面列出的工件主机。
我的问题很简单:我是否应该在我的pom中包含该表中列出的所有依赖项?
答案 0 :(得分:7)
要回答您的问题,您不需要包含工件依赖项部分中列出的所有依赖项。我的理解是,当您在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
文件中只添加了上述依赖项后,我得到了以下内容:
答案 1 :(得分:0)
无需下载所有这些文件。 Maven将处理pom文件中提到的指定依赖项的所有工件依赖项。