您只能导入 托管依赖项 。这意味着您只能 将 其他POM导入到
dependencyManagement项目POM的部分中。即
...<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>...
然后发生的是,在的
dependencyManagement部分中定义的所有依赖项
other-pom-artifact-id都包含在POM的
dependencyManagement部分中。然后,您可以在
dependencyPOM(及其所有子POM)部分中引用这些依赖项,而不必添加
version等。
但是,如果在您的POM中仅定义一个常规依赖项,
other-pom-artifact-id则
dependencies该
dependency部分中的所有内容都将
other-pom-artifact-id被可传递地包含在您的项目中-
但是,该
dependencyManagement部分中定义的依赖项
other-pom-artifact-id根本不包括在内。
因此,基本上,两种不同的机制用于导入/包括两种不同类型的依赖项(托管依赖项和常规依赖项)。
Maven网站上有一个很好的页面,它可以比我更好地解释这一点,即Maven中的Dependency
Management,它还包含有关导入依赖项的特定信息。



