1.《dependencises 》 和 《dependencyManagement》
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>2020.0.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
a: 我们都知道依赖由三部分组成,《groupId》,《artifactId》以及版本号组成,但是上面的eureka依赖并未加版本号,当普通《dependencises 》中的依赖中为加版本号时,会自动去《dependencyManagement》寻找,若找不到就会爆红。
b: maven项目只支持单继承,就像java一样,如果你想继承其他的依赖可以通过下面这两个标签。
<type>pom</type>
<scope>import</scope>
注,该种写法只能写在 《dependencyManagement》中。
2.当使用《dependencises 》 和 《dependencyManagement》的项目作为父工程时,在微服务的项目中。
继承该项目的子项目会默认继承《dependencises 》 中的所有依赖,而《dependencyManagement》中的依赖并不是全部继承,而是你需要哪个依赖才注入哪个依赖,但需要注意的是不需要申明版本号,版本号和《dependencyManagement》中的依赖的版本号一致。
本文介绍了Maven中的《dependencies》和《dependencyManagement》的区别及其使用。《dependencyManagement》用于集中管理项目的依赖版本,当《dependencies》中的依赖未指定版本时,会从《dependencyManagement》中查找。如果作为父工程,子项目会继承《dependencies》的所有依赖,但《dependencyManagement》的依赖需要按需引入,版本自动匹配。此外,通过《type》和《scope》的设置可以实现依赖的导入。
492





