文章目录
- Maven
- Maven基本介绍
- Maven基本使用
- IDEA配置Maven
- IDEA配置Maven
- Maven坐标详解
- IDEA创建Maven项目
- IDEA导入Maven项目
- Maven依赖管理
Maven
Maven基本介绍
Apache Maven 是一个项目管理和构建工具,它基于项目对象模型(POM)的概念,通过一小段描述信息来管理项目的构建、报告和文档
官网链接: http://maven.apache.org/
Maven是专门用于管理和构建Java项目的工具,它的主要功能有:
提供了一套标准化的项目结构
- 由于不同的编辑器创建项目的目录结构各不相同, 不够通用;
- Maven提供了一套标准化的项目结构,所有IDE使用Maven构建的项目结构完全一样,所有IDE创建的Maven项目可以通用
提供了一套标准化的构建流程(编译,测试,打包,发布……)
- Maven提供了一套简单的命令来完成项目构建
提供了一套依赖管理机制:
- 赖管理其实就是管理你项目所依赖的第三方资源 (jar包、插件…)
- Maven 使用标准的坐标配置来管理各种依赖; 只需要简单的配置就可以完成依赖管理
Maven 模型:
项目对象模型 (Project Object Model)
依赖管理模型(Dependency)
插件(Plugin)
仓库分类:
本地仓库:自己计算机上的一个目录
中央仓库:由Maven团队维护的全球唯一的仓库
- 地址https://repo1.maven.org/maven2/
远程仓库(私服):一般由公司团队搭建的私有仓库
- 当项目中使用坐标引入对应依赖jar包后,首先会查找本地仓库中是否有对应的jar包:
如果有,则在项目直接引用;
如果没有,则去中央仓库中下载对应的jar包到本地仓库。
- 如果搭建了远程仓库, jar包的查找仓库的顺序为:
本地仓库 --> 远程仓库 --> 中央仓库
Maven基本使用
Maven有下面几个常用命令:
mvn compile :编译, 会生成一个target文件夹, 文件夹中是编译源文件src的class项目文件
mvn clean:清理, 删除target文件夹
mvn test:测试, 自动执行java项目的测试类
mvn package:打包, 将java的源代码打包成字节码的jar包
mvn install:安装, 将当前java项目安装到本地仓库
Maven 生命周期:
Maven 构建项目生命周期描述的是一次构建过程经历经历了多少个事件
Maven 对项目构建的生命周期划分为3套
- clean:清理工作
- default:核心工作(默认生命周期),例如编译,测试,打包,安装等
- site:产生报告,发布站点等
同一生命周期内,执行后边的命令,前边的所有命令会自动执行
Maven生命周期的命令其实是很多的, 只不过我们常用的就只有上面几个
IDEA配置Maven
IDEA配置Maven
选择 IDEA中 File --> Settings
搜索 maven
设置 IDEA 使用本地安装的Maven,并修改配置文件路径
Maven坐标详解
什么是坐标?
Maven 中的坐标是资源的唯一标识
使用坐标来定义项目或引入项目中需要的依赖
Maven坐标主要组成:
groupId:定义当前Maven项目隶属组织名称(通常是域名反写,例如:com.abc)
artifactId:定义当前Maven项目名称(通常是模块名称,例如 order-service、goods-service)
version:定义当前项目版本号
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.28</version>
</dependency>
IDEA创建Maven项目
1.首先创建模块,选择Maven,点击Next
2.填写模块名称,坐标信息,点击finish,创建完成
3.编写 HelloWorld,并运行
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello Maven");
}
}
IDEA导入Maven项目
1.选择右侧Maven面板,点击 + 号
2.选中要导入对应项目的pom.xml文件,双击即可
3.如果没有Maven面板,选择 View --> Appearance --> Tool Window Bars, 可以打开Maven面板
Maven依赖管理
使用坐标导入jar包:
1.在 pom.xml 中编写 <dependencies> 标签
2.在 <dependencies> 标签中 使用 <dependency> 引入坐标
3.定义坐标的 groupId,artifactId,version
4.点击刷新按钮,使坐标生效
<dependencies>
<!-- 导入测试jar包 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<!-- 导入mysql驱动jar包 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.28</version>
</dependency>
</dependencies>
使用坐标导入jar包 - 快捷方式:
1.在 pom.xml 中 按 alt + insert,选择 Dependency
2.在弹出的面板中搜索对应坐标,然后双击选中对应坐标
3.点击刷新按钮,使坐标生效