只能导入管理依赖。这意味着您只能将导入其他POM到项目POM的dependencyManagement
部分。即
...
<dependencyManagement>
<dependencies>
<dependency>
<groupId>other.pom.group.id</groupId>
<artifactId>other-pom-artifact-id</artifactId>
<version>SNAPSHOT</version>
<scope>import</scope>
<type>pom</type>
</dependency>
</dependencies>
</dependencyManagement>
...
那么,什么情况是,在other-pom-artifact-id
的dependencyManagement
节中定义的所有依赖性都包含在你的POM的dependencyManagement
部分。然后,您可以参考在你的POM的dependency
部分这些依赖关系(及其所有子多金属氧酸盐),而不必包括version
等
但是,如果在你的POM你简单地定义一个正常的依赖性other-pom-artifact-id
那么所有dependencies
从该other-pom-artifact-id
的dependency
部分都包含在及物动词你的项目 - 但是在other-pom-artifact-id
的dependencyManagement
部分定义的依赖不会被包括在内的。
所以基本上两种不同的机制被用于导入/包括两种不同类型的依赖关系(管理依赖性和正常的依赖关系)。
在maven网站上有一个很好的页面,它可以解释得这么好,我可以,Dependency Management in Maven,它还包含importing dependencies的具体信息。
来源
2012-08-02 14:14:28
DB5
如果'pom'一个在为'pom' B的父母,你能不能把项目A的依赖管理B带范围'import'? – 2016-10-26 15:11:46
很好的解释它是如何工作的,但是为什么?为什么你不想过渡地包含其他依赖项?你也可以做两个吗?导入other-pom-artifact-id,然后声明other-pom-artifact-id为依赖关系? – 2016-11-11 10:15:08
一篇文章上DZone规定不同的东西:'... <依赖性> $ {} project.groupId pomlib-lib的 POM 进口 $ { project.groupId} pomlib-war w AR 依赖> '[DRY和Skinny战争(https://dzone.com/articles/dry-and-skinny-war) –
coz
2017-03-29 15:34:15