maven parent 与 import 的区别

在 maven 配置文件 pom.xml 中可以 引入 ,方式如下(举例是 spring-boot-starter-parent 中的继承关系)
 
<parent>
  <groupId>org.springframework.bootgroupId>
  <artifactId>spring-boot-dependenciesartifactId>
  <version>1.5.11.RELEASEversion>
  <relativePath>../../spring-boot-dependenciesrelativePath>
parent>

 

这是 maven 中的继承关系,表示该 maven 项目(spring-boot-starter-parent)将会继承目标项目(spring-boot-dependencies)中的依赖,通过这种方式可以实现复用父类中的依赖。
 
这种复用可以针对两种依赖,一种是定义在 中的 ,这种是无条件继承的;还有一种是定义在 中的 ,这种的如果要在子类中使用,需要手动声明,只需要声明 groupId 和 artifactId 就行,版本则不必声明。
 
使用 parent 一可以实现复用,二还可以统一管理依赖的版本。
 
import 能实现类似的功能,它能够解决 parent 不能实现的部分问题,比如多继承。但是相比 parent,它只能作用于 元素,它所实现的就是能将目标中的配置导入当前 pom 中,但是不包括插件管理 plugin management。
 
<dependencyManagement>
  <dependencies>
    <dependency>
      
      <groupId>org.springframework.bootgroupId>
      <artifactId>spring-boot-starter-parentartifactId>
      <version>${spring.boot.version}version>
      <type>pomtype>
      <scope>importscope>
    dependency>
    <dependency>
      <groupId>org.springframework.cloudgroupId>
      <artifactId>spring-cloud-dependenciesartifactId>
      <version>${spring.cloud.version}version>
      <type>pomtype>
      <scope>importscope>
    dependency>
  dependencies>
dependencyManagement>

 

 

转载于:https://www.cnblogs.com/bityinjd/p/9046061.html

你可能感兴趣的:(maven parent 与 import 的区别)