type:默认值为jar。
父pom:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.10.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>cn.china3y</groupId>
<artifactId>myspringcloud</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>myspringcloud</name>
<description>Demo project for Spring Boot</description>
<dependencyManagement>
<dependencies>
<!-- <type>pom</type>把spring-cloud-dependencies引入为pom 文件 -->
<!-- <scope>import</scope>解决单继承问题,类似parent标签,把spring-cloud-dependencies引入到dependencyManagement -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Greenwich.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
子pom使用父pom依赖,情况一:子pom引用父pom声明的依赖。
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
<!-- 这里会自动引入版本,类似parent标签继承 -->
</dependency>
子pom引用父pom依赖声明,情况二:子pom引用父pom依赖声明。
//注意使用import标签时,不再使用<parent>标签
//表示将父项目的dependencyManagement拿到本POM中,不再继承parent
<dependencyManagement>
<dependencies>
<dependency>
<groupId>cn.china3y</groupId>
<artifactId>myspringcloud</artifactId>
<version>0.0.1-SNAPSHOT</version>
<type>pom</type>//必须是type=pom
<scope>import</scope>//必须是scope=import
</dependency>
</dependencies>
</dependencyManagement>
1.scope为import只能在dependencyManagement中使用,且type为pom类型。
2.dependencyManagement里配置并不会实际引入,只是为了版本管理,实际引入需要直接在dependencies中添加。