本文介绍: 指示将项目打包为什么类型的文件,idea根据packaging值,识别maven项目类型!packaging 属性为 jar(默认值),代表普通的Java工程,打包以后是.jar结尾的文件。packaging 属性为 war,代表Java的web工程,打包以后.war结尾的文件。packaging 属性为 pom,代表不会打包,用来做继承的父工程。例如: pom.xml依赖文件:使用记事本打开set REPOSITORY_PATH=D:repository 改成你本地仓库地址即可!
一、Maven简介和快速入门
1.1 Maven介绍
Maven 是一款为 Java 项目构建管理、依赖管理的工具(软件),使用 Maven 可以自动化构建、测试、打包和发布项目,大大提高了开发效率和质量。
总结:Maven就是一个软件,掌握软件安装、配置、以及基本功能(项目构建、依赖管理)使用就是本课程的主要目标!
1.2 Maven主要作用理解
1.场景概念
场景1:例如我们项目需要第三方库(依赖),如Druid连接池、MySQL数据库驱动和Jackson等。那么我们可以将需要的依赖项的信息编写到Maven工程的配置文件,Maven软件就会自动下载并复制这些依赖项到项目中,也会自动下载依赖需要的依赖!确保依赖版本正确无冲突和依赖完整!
场景2:项目开发完成后,想要将项目打成.war文件,并部署到服务器中运行,使用Maven软件,我们可以通过一行构建命令(mvn package)快速项目构建和打包!节省大量时间!
2.依赖管理
Maven 可以管理项目的依赖,包括自动下载所需依赖库、自动下载依赖需要的依赖并且保证版本没有冲突、依赖版本管理等。通过 Maven,我们可以方便地维护项目所依赖的外部库,而我们仅仅需要编写配置即可。
3.构建管理
1.3 Maven 的安装和配置
1.安装
2.环境变量
3.命令测试
4.配置文件
1.依赖本地缓存位置(本地仓库位置)
a.配置本地仓库地址
2.maven下载镜像
b.配置国内阿里镜像
3.maven选用编译项目的jdk版本!
c.配置jdk17版本项目构建
5.idea配置本地maven
a.打开idea配置文件,构建工具配置
b.选中本地maven软件
c.测试是否配置成功
二、基于 IDEA 的 Maven 工程创建
2.1 梳理 Maven 工程的 GAVP 属性
GAV遵循一下规则
1) GroupID 格式
2) ArtifactID 格式
3) Version版本号格式
推荐:主版本号.次版本号.修订号 1.0.0
Packaging定义规则
2.2 Idea 构建 Maven JavaSE 工程
2.3 Idea 构建 Maven JavaEE 工程
1.手动创建
a.创建一个javasemaven工程
b.手动添加web项目结构文件
c.修改pom.xml文件打包方式
d.刷新和校验
2.插件方式创建
a.安装插件JBLJavaToWeb
b.创建一个javasemaven工程
c.右键、使用插件快速补全web项目
2.4 Maven 工程项目结构说明
三、Maven 核心功能依赖和构建管理
3.1 依赖管理和配置
maven项目信息属性配置和读取
依赖管理和添加
依赖版本提取和维护
3.2 依赖传递与冲突
依赖传递的作用
依赖传递演示
依赖冲突演示
解决依赖冲突(如何选择重复依赖)方式
1.自动选择原则
3.3 依赖导入失败场景和解决方案
失败场景
1.下载依赖时出现网络故障或仓库服务器宕机等原因,导致无法连接至 Maven 仓库,从而无法下载依赖。
2.依赖项的版本号或配置文件中的版本号错误,或者依赖项没有正确定义,导致 Maven 下载的依赖项与实际需要的不一致,从而引发错误。
3.本地 Maven 仓库或缓存被污染或损坏,导致 Maven 无法正确地使用现有的依赖项,并且也无法重新下载!
解决方案
1.检查网络连接和 Maven 仓库服务器状态。
2.确保依赖项的版本号与项目对应的版本号匹配,并检查 POM 文件中的依赖项是否正确。
3.清除本地 Maven 仓库缓存(lastUpdated 文件),因为只要存在lastupdated缓存文件,刷新也不会重新下载。本地仓库中,根据依赖的gav属性依次向下查找文件夹,最终删除内部的文件,刷新重新下载即可!
3.4 扩展构建管理和插件配置
构建概念
主动触发场景
命令方式构建
可视化方式构建
构建命令周期
最佳使用方案
周期,命令和插件
四、Maven继承和聚合特性
4.1 Maven工程的继承关系
1.继承概念
2.继承作用
3.继承语法
4.父工程依赖统一管理
4.2 Maven工程聚合关系
1.聚合概念
2.聚合作用
3.聚合语法
4.聚合演示
五、Maven 实战案例:搭建微服务 Maven 工程架构
5.1 项目需求和结构分析
需求案例
项目架构
服务依赖
1.用户服务 (1.0.1)
2.订单服务 (1.0.1)
3.通用模块 (1.0.1)
5.2 项目搭建和统一构建
1.父模块搭建 (micro-shop)
a.创建父工程
b.pom.xml配置
2.通用模块 (common-service)
a.创建模块
b.pom.xml配置
3.用户模块 (user-service)
a.创建模块
b.pom.xml配置
4.订单模块 (order-service)
a.创建模块
b.pom.xml
六、Maven 核心掌握总结
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。