0
点赞
收藏
分享

微信扫一扫

Maven继承

伢赞 2022-04-29 阅读 46
maven

Maven继承
一.继承的意义
在构建多个模块的项目时候,往往会多有模块有相同的groupId、version,或者有相同的依赖,为了减
少pom文件的配置、统一相同依赖的版本。可以将一个大型项目分为父工程和子工程,其中父工程的唯一
作用就是定义所有子模块工程的资源版本(父工程不编写代码,只编辑pom.xml文件)
二.继承的实现
创建父工程:
保证父工程的pom.xml文件中定义的打包packaging标签的类型是pom。
在这里插入图片描述

创建子工程
在子工程中使用 parent 标签,定义groupId artifactId version指向父工程.这样父工程的一些资源标签就
可以被子工程使用了。
两种方式:

  1. 把父工程打包安装到本地仓库。如果是公司多人开发可以把父工程发布的公司的远程仓库(私
    服)。
    2.IDEA中直接在父工程下直接创建child工程
    在这里插入图片描述

三.可继承的POM元素
groupId :项目组ID,项目坐标的核心元素
version :项目版本,项目坐标的核心元素
description :项目的描述信息
organnization :项目的组织信息
inceptionYear :项目的创始年份
url :项目的URL地址
developers :项目的开发者信息
dependencies :项目的依赖配置
dependencyManagement :项目的依赖管理配置
repositories :项目的仓库配置
build :包括项目的源码目录配置、输出目录配置、插件配置、插件管理配置等
properties :定义一些当前项目使用的变量名称,在子类中可以通过$获取直接使用
四.依赖管理
当多有模块中有相同的依赖时,我们可以将这些依赖提取出来,同一在父POM中声明,这样可以简化子
模块的配置。但是这样还是存在问题,当想在项目中加入一些,不需要这么多依赖的模块,如果让这个
模块也依赖那些不需要的依赖,显然不合理。
Maven提供的 dependentcyManagement 元素既能让子模块继承到父模块的依赖配置,又能保证子模块
依赖使用的灵活度。在 dependentcyManagement 元素下的依赖声明不会引入实际的依赖,而是定义了
依赖的版本,对版本进行同一管理,避免出现版本不一致的情况。
比如SpringBoot中 spring-boot-starter-parent 的父项目 spring-boot-dependencies 中就配置
SpringBoot相关依赖的版本:
我们在自己的项目中使用SpringBoot的各种starter时就不用指定版本。
在这里插入图片描述

举报

相关推荐

0 条评论