Maven

Maven是什么

Maven的本质是一个项目管理工具,将项目开发和管理过程抽象成一个对象模型(POM)
POM(Project Object Model): 项目对象模型
在这里插入图片描述

基础概念
仓库 : 用于存储资源,包含各种jar包
分类:
本地仓库:自己电脑上存储资源的仓库,连接远程仓库获取资源
远程仓库:非本机电脑上的仓库,为本地仓库提供资源
中央仓库:Maven团队维护,存储所有资源的仓库
私服:公司/部门范围内资源存储的仓库,从中央仓库获取资源

私服的作用:
保存具有版本的资源,包含购买或自主研发的jar
中央仓库的jar都是开源的,不能存储具有版权的资源
一定范围内共享资源,仅对内部开放,不对外共享

坐标 :maven中的坐标用于描述仓库中资源的位置
https://repo1.maven.org/maven2/

Maven坐标主要组成
GroupId:定义当前Maven项目隶属于组织名称(通常是域名反写,例如:org.mybatis)
ArtifactId: 定义当前Maven项目名称(通常是模块名称,例如CRM、SMS)
Version: 定义当前项目版本号
Packaging: 定义该项目的打包方式
在这里插入图片描述

https://mvnrepository.com //maven 仓库

Maven坐标的作用
使用唯一标识,唯一性定位资源位置,通过该标识可以将资源的识别与下载工作交由机器完成

Maven项目构建命令

Maven构建命令使用mvn开头,后面添加功能参数,可以一次性执行多个命令,使用空格分隔

mvn compile 编译
mvn clean 清理
mvn test 测试 //会生成测试报告 /surefire-reports 文件夹下
mvn package 打包
mvn install 安装到本地仓库

插件创建工程

创建工程
mvn archetype:generate
-DgroupId={project-packaging}
-DartifactId={project-name}
-DarchetypeArtifactId=maven-archetype-quickstart
-DinteractiveMode=false

创建java工程

mvn archetype:generate -DgroupId=com.itheima -DartifactId=java-project
-DarchetypeArtifactId=maven-archetype-quickstart -Dversion=0.0.1-snapshot
-DinteractiveMode=false

创建web工程

mvn archetype:generate -DgroupId=com.itheima -DartifactId=web-project -
DarchetypeArtifactId=maven-archetype-webapp -Dversion=0.0.1-snapshot -
DinteractiveMode=false

IDEA版
(Tomcat的启动 其他方法)
在这里插入图片描述
在这里插入图片描述
插件
在这里插入图片描述

依赖管理

在这里插入图片描述

可选依赖
指的是对外隐藏当前所依赖的资源----不透明
在这里插入图片描述
排除依赖
排除依赖指的是主动断开依赖的资源,被排除的资源无需指定版本
在这里插入图片描述
依赖范围
依赖的jar默认情况可以在任何地方使用,可以通过scope标签设定其作用范围

作用范围
主程序范围有效(main文件夹范围内)
测试程序范围有效(test文件夹范围内)
是否参与打包(package指令范围内)

在这里插入图片描述

生命周期与插件

在这里插入图片描述
Maven对项目构建的生命周期划分为3套
clean 清理工作
default 核心工作,例如编译,测试,打包,部署等
site 产生报告,发布站点等
Deploy 发布指令 (可以发布到私服上)

Clean生命周期
pre-clean 执行一些需要在clean 之前完成的工作
clean 移除所有上一次构建生成的文件
post-clean 执行一些需要在clean之后立刻完成的工作

Default生命周期
在这里插入图片描述
插件
在这里插入图片描述

Goals 目标
阶段

高级部分

聚合
作用:用来管理项目模块
在这里插入图片描述
配置方式 modules module
在这里插入图片描述

打包方式(模块的类型)
默认打成jar包
Web工程打成war包
聚合关系是pom包(重点关注聚合工程写成pom)

继承
模块依赖关系维护

作用:通过继承可以实现在子工程中沿用父工程中的配置
Maven中的基础与java中的继承相似,在子工程中配置继承关系
制作方式:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

继承与聚合

作用
聚合用于快速构建项目
继承用于快速配置
相同点
聚合与继承的pom.xml文件打包方式均为pom,可以将两种关系制作到同一个pom文件中
聚合与继承均属于设计型模块,并无实际的模块内容
不同点
聚合是在当前模块中配置关系,聚合可以感知到参与聚合的模块有哪些
继承是在子模块中配置关系,父模块无法感知哪些子模块继承了父模块
在这里插入图片描述
父工程中
//
//
在这里插入图片描述
插件继承
在这里插入图片描述
子工程中
在这里插入图片描述
属性

自定义属性
在这里插入图片描述
内置属性
作用:使用maven内置属性,快速配置
在这里插入图片描述
Setting属性
作用:用于动态配置
在这里插入图片描述

Java系统属性
在这里插入图片描述

版本管理

工程版本

SNAPSHOT(快照版本)
项目开发过程中,为了方便团队合作,解决模块间相互依赖和时时更新的问题,开发者对每个模块进行构建的时候,输出的临时性版本叫做快照版本(测试阶段版本)
快照版本会随着开发的进展不断更新

RELEASE(发布版本)
项目开发进入阶段里程碑后,发布的稳定版本,这种版本的构件文件是稳定的,即便进行功能的后续开发,也不会改变当前发布版本内容

工程版本号约定
约定规范
主版本.次版本.增量版本.里程碑版本
主版本:表示项目重大架构的变更,如:spring5相较于spring4的迭代
次版本:表示有较大的功能增加和变化,或者全面系统地修复漏洞
增量版本:表示有重大漏洞的修复
里程碑版本:表名一个版本的里程碑(版本内部)。这样的版本同下一个正式版本相比,相对来说不是很稳定,有待更多的测试

资源配置
多文件维护
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
多环境开发配置
在这里插入图片描述
在这里插入图片描述
加载指定环境
作用
加载指定环境配置

调用格式
mvn 指令 -P 环境定义id

范例
Mvn install -P pro_env

activeByDefault 默认环境
在这里插入图片描述

跳过测试
在这里插入图片描述

方式1
在这里插入图片描述

方式2

在这里插入图片描述
在这里插入图片描述

方式3
在这里插入图片描述
包含测试 and 跳过测试
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

私服

分模块合作开发

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
私服介绍
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

创建仓库
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

私服资源上传
上传资源时提供对应的信息
保存的位置(宿主仓库)
资源文件
对应坐标
在这里插入图片描述
在这里插入图片描述
IDEA环境中资源上传与下载

上传所需资源
访问私服的用户名/密码
上传的位置(宿主地址)

下载所需资源
访问私服的用户名/密码
下载的地址(组地址)

Maven连接私服
在这里插入图片描述
在这里插入图片描述

Idea发布到私服的配置管理
在这里插入图片描述
在这里插入图片描述
Deploy 发布指令 (可以发布到私服上)
mvn deploy
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 18
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值