前言
今天看代码,看到POM文件中有
<scope>import</scope>
这一行代码,看到import的scope疑惑了,因为之前没有见过。
解析
我们知道,Maven是单继承机制,也就是parent标签只能有一个。而POM文件的parent标签一般都是继承spring-boot-starter-parent。
那有时候,我们还想继承其他的父类或者让父类的依赖更加清晰和好管理时,怎么办?
而这个scope import就是可以解决这个单继承的问题
scope=import只能用在dependencyManagement里面,且仅用于type=pom的dependency。它的作用就是相当于引入了某个pom文件,然后我们可以选择性的使用该pom文件下的哪个依赖
以下是一个简单的例子
<dependencyManagement>
<dependencies>
<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文件中的某个依赖,可以不指定版本,因为在上面import的文件中已经定义了版本号 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
本文解析了Maven中scope=import的作用及使用场景,解释了如何通过import解决单继承问题,允许从多个父POM文件中选择性地继承依赖。

1695

被折叠的 条评论
为什么被折叠?



