一 初逢Maven
- Maven是专门用于管理和构建Java项目的工具,
- 它的主要功能有
- 提供了一套标准化的项目结构
- 提供了一套标准化的构建流程(编译,测试,打包,发布…)
- 提供了一套依赖管理机制
1.1 核心口诀
1.2 登堂入室
1.2.1 打通任督二脉
仓库分类 | 详解 |
---|
本地仓库 | 自己计算机上的一个目录 | 中央仓库 | 由Maven团队维护的全球唯一的仓库地址:https://repo1.maven.org/maven2/ | 远程仓库(私服) | 一般由公司团队搭建的私有仓库 |
1.2.2 真气流转图
- 依赖的JAR包的下载图解
当项目中使用坐标引入对应依赖jar包后,首先会查找本地仓库中是否有对应的iar包 - 如果有,则在项目直接引用
- 如果没有,则去中央仓库中下载对应的iar包到本地仓库
1.3 神级装备加持
1.3.1 Maven神器配置
- 解压apache-maven-3.6.3.rar既安装完成
- 提示:推荐自己新建一个目录专门存放。如environment>maven-3.6.3
- 配置环境变量
- 凌波微步招式图解
- 配置本地仓库:修改conf/settings.xml中的为一个指定目录
<localRepository>C:\environment\apache-maven-3.8.6\maven-repo</localRepository>
- 配置阿里云私服:修改conf/settings.xml中的标签,为其添加如下子标签:
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*,!jeecg,!jeecg-snapshots</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
1.3.2 最终成果展示
1.4 Maven的基本招式
1.4.1 一图解千愁决【Maven 常用命令】
# 清理输出目录默认target/
mvn clean
mvn clean compile 清理编译
mvn test
mvn clean test 清理测试
mvn clean package 清理打包
mvn clean install 清理将打包好的jar存入 本地仓库 注意是本地仓库
mvn clean deploy 根据pom中的配置信息将项目发布到远程仓库中
1.4.2 Maven 生命周期
- Maven构建项目生命周期描述的是一次构建过程经历经历了多少个事件
- Maven对项目构建的生命周期划分为3套
- clean:清理工作
- default:核心工作,例如编译,测试,打包,安装等
- site:产生报告,发布站点等
1.5 基础功法:御剑飞行
控剑准备:IDEA配Maven
- 选择设置,【采用启动时全局设置】
- 搜索maven
- 设置idea使用本地maven,并修改配置文件
控剑口诀:Maven坐标详解
- 什么是坐标?
- Maven中的坐标是资源的唯一标识
- 使用坐标来定义项目或引入项目中需要的依赖
- Maven坐标主要组成
- groupld:定义当前Maven项目隶属组织名称(通常是域名反写,例如:com.itheima)
- artifactld:定义当前Maven项目名称(通常是模块名称,例如order-service、goods-service)
- version:定义当前项目版本号
<groupId>com.yang</groupId>
<artifactId>maven-demo</artifactId>
<version>1.0-SNAPSHOT</version>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.29</version>
</dependency>
御剑身法:IDEA创建Maven项目
御剑手法:IDEA导入Maven项目
速成之法:配置Maven-helper插件
记得重启
御剑实操:使用坐标导入jar包
- 在pom.xml中编写‘ < dependences >’标签
- 在‘ < dependences >’标签中使用‘ < depedency > ’引入坐标
- 定义坐标的groupId,artifactId,version
- 点击刷新按钮,使坐标生效
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.29</version>
</dependency>
</dependencies>
御剑外挂1:自动生效 ,不用刷新
御剑外挂2:鳞波微步,快速找包
Alt+insert……快速搜索,导包
大道之法:依赖管理
- 通过设置坐标的依赖范围(scope),可以设置对应的jar包的作用范围:编译环境,测试环境,运行环境
依赖范围 | 编译classpath | 测试classpath | 运行classpath | 栗子 |
---|
compile (selected) | Y | Y | Y | logback | test | - | Y | - | junit | provided | Y | | Y | - | runtime | - | Y | Y | jdbc驱动 | system | Y | Y | - | 存储在本地的jar包 | import | 引入DependecyManagement | | | |
|