Maven

Maven是什么? Maven是管理和构建java项目的工具。 Maven的作用 依赖管理 不需要再下载还导入jar包,只需在pom.xml文件中导入即可 依赖配置 maven官网Maven Repository: Search/Browse/Explore (mvnrepository.com)

Maven是什么?

Maven是管理和构建java项目的工具。

Maven的作用

依赖管理

不需要再下载还导入jar包,只需在pom.xml文件中导入即可

依赖配置

maven官网Maven Repository: Search/Browse/Explore (mvnrepository.com)

依赖传递

直接依赖(蓝),间接依赖(黄)

依赖范围

生命周期

统一项目结构

项目构建

有跨平台的特点。

Maven项目的创建

Maven坐标

GroupId

当前maven项目隶属的组织名称,例com.suave.

ArtifactId

当前maven项目名

Version

项目的版本号

导入Maven项目

分模块开发与设计

分模块开发的意义

  • 将原始模块按照功能拆分成若干个子模块,方便模块间的相互调用,接口共享

依赖传递

依赖的传递性

  • 直接依赖:在当前项目中通过依赖配置建立的依赖关系

  • 间接依赖:被资源的资源如果依赖其他资源,当前项目间接依赖其他资源

依赖冲突

  • 路径优先:当依赖中出现相同的资源时,层级越深,优先级越低,层级越浅,优先级越高

  • 声明优先:当资源在相同层级被依赖时,配置顺序靠前的覆盖配置顺序靠后的

  • 特殊优先:当同级配置了相同资源的不同版本,后配置的覆盖先配置的

可选依赖

  • 可选依赖是隐藏当前工程所依赖的资源,隐藏后对应资源将不具有依赖传递性

排除依赖

  • 排除依赖是隐藏当前资源对应的依赖关系

聚合

  • 聚合:将多个模块组织成一个整体,同时进行项目构建的过程称为聚合

  • 聚合工程:通常是一个不具有业务功能的“空”工程(有且仅有一个pom文件)

作用:

  • 使用聚合工程可以将多个工程编组,通过对聚合工程进行构建,实现对所包含的模块进行同步构建

  • 当工程中某个模块发生更新(变更)时,必须保障工程中与已更新模块关联的模块同步更新,此时可以使用聚合工程来解决批量模块同步构建的问题

开发步骤

  1. 创建Maven模块,设置打包类型为pom

  2. 设置当前聚合工程所包含的子模块名称

继承

  • 概念:继承描述的是两个工程间的关系,与java中的继承相似,子工程可以继承父工程中的配置信息,常见于依赖关系的继承

作用:

  • 简化配置

  • 减少版本冲突

开发步骤

  1. 创建Maven模块,设置打包类型为pom

  2. 在父工程的pom文件中配置依赖关系(子工程将沿用父工程中的依赖关系)

  3. 配置子工程中可选的依赖关系

  4. 在子工程中配置当前工程所继承的父工程

  5. 在子工程中配置使用父工程中可选依赖的坐标(不要写版本号

继承与聚合

作用:

  • 聚合用于快速构建项目

  • 继承用于快速配置

相同点:

  • 聚合与继承的pom.xm1文件打包方式均为pom,可以将两种关系制作到同一个pom文件中

  • 聚合与继承均属于设计型模块,并无实际的模块内容

不同点:

  • 聚合是在当前模块中配置关系,聚合可以感知到参与聚合的模块有哪些

  • 继承是在子模块中配置关系,父模块无法感知哪些子模块继承了自己

属性配置与使用

开发步骤

  1. 定义属性

  2. 引用属性

配置文件加载属性

  1. 定义属性

  2. 配置文件中引用属性

  3. 开启资源文件目录加载属性的过滤器

  4. 配置maven打war包时,忽略web,xml检查

版本管理

工程版本:

SNAPSHOT(快照版本):

  • 项目开发过程中临时输出的版本,称为快照版本

  • 快照版本会随着开发的进展不断更新

RELEASE(发布版本):

  • 项目开发到进入阶段里程碑后,向团队外部发布较为稳定的版本,这种版本所对应的构件文件是稳定的,即便进行功能的后续开发,也不会改变当前发布版本内容,这种版本称为发布版本

发布版本:

  • alpha版

  • beta版

  • 纯数字版

多环境配置与应用

多环境开发

maven提供配置多种环境的设定,帮助开发者使用过程中快速切换环境

开发步骤

  1. 定义多环境

  2. 使用多环境(构建过程)

跳过测试

应用场景:

  • 功能更新中并且没有开发完毕

  • 快速打包

使用

在maven插件里面

私服

简介

使用

  • 启动服务器(命令行启动)

nexus.exe run nexus
  • 访问服务器(默认端口:8081)

http://localhost:8081
  • 修改基础配置信息:安装路径下etc目录中nexus-default.properties文件保存有nexus基础配置信息,例如默认访问端口

  • 修改服务器运行配置信息:安装路径下bin目录中nexus.vmoptions文件保存Nexus服务器启动对应的配置信息,例如默认占用内存空间

私服分类

本地仓库访问私服的配置

在本地maven文件夹/conf/settings.xml文件中修改

  • 在<servers></servers>中配置

  • 在<mirrors></mirrors>中配置

  • 工程pom文件中配置

  • 发布命令(也可以直接点击maven生命周期中的deploy)

私服访问中央服务器设置

  • 配置位置(nexus服务器页面设置)

LICENSED UNDER CC BY-NC-SA 4.0
Comment