Maven
1. Maven概述
Maven是专门用于管理和构建Java项目的工具,它的主要功能有:
(1)提供了一套标准化的项目结构
每一个开发工具(IDE)都有自己不同的项目结构,它们互相之间不通用。
而Maven提供了一套标准化的项目结构,所有的IDE使用Maven构建的项目完全一样,所以IDE创建的Maven项目可以通用。
Maven项目结构:
(2)提供了一套标准化的构建流程(编译,测试,打包,发布…)
Maven提供了一套简单的命令来完成项目构建
(3)提供了一套依赖管理机制
依赖管理: 方便快捷的管理项目依赖的资源(jar包),避免资源间的版本冲突问题。
Maven使用标准的坐标配置来管理各种依赖, 只需要简单的配置就可以完成依赖管理
2. Maven简介
Apache Maven是一个项目管理和构建工具,它基于项目对象模型(POM)的概念,通过一小段描述信息来管理项目的构建、报告和文档
官网: http://maven.apache.org/
Maven模型:
项目对象模型(Project Object Model)
依赖管理模型(Dependency)
插件(Plugin)
仓库分类:
本地仓库:自己计算机上的一个目录;
中央仓库:由Maven团队维护的全球唯一的仓库;
远程仓库(私服):一般由公司团队搭建的私有仓库。
- 当项目中使用坐标引入对应依赖jar包后,首先会查找本地仓库中是否有对应的jar包:
- 如果有,则在项目直接引用;
- 如果没有,则去中央仓库中下载对应的jar包到本地仓库。
- 还可以搭建远程仓库,将来jar包的查找顺序则变为:本地仓库 --> 远程仓库–> 中央仓库
3. Maven安装配置
官方下载链接:https://maven.apache.org/download.cgi
Binary是可执行版本,已经编译好可以直接使用。
Source是源代码版本,需要自己编译成可执行软件才可使用。
选择Binary进行安装:选择zip版本(linux选择tar.gz)
Maven安装配置步骤:
-
解压apache-maven-3.6.1.rar既安装完成
-
配置环境变量MAVEN_ HOME为安装路径的bin目录
-
配置本地仓库:修改conf/settings.xml中的< localRepository> 为一个指定目录
修改apache-maven-3.9.1\conf/settings.xml 中的 < localRepository> 为一个指定目录(例如D:\apache-maven-3.9.1\mvn_resp)作为本地仓库,用来存储jar包。
-
配置阿里云私服:修改conf/settings.xml中的< mirrors>标签,为其添加如下子标签:
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>ttp://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
4. Maven基本使用
4.1 Maven常用命令
compile :编译,生成target目录
clean:清理,删除target目录
test:测试,执行test文件下测试代码
package:打包,将当前项目打包成的jar包
install:安装,将当前项目打成jar包,并安装到本地仓库
4.2 Maven生命周期
Maven 构建项目生命周期描述的是一次构建过程经历经历了多少个事件
Maven 对项目构建的生命周期划分为3套:
(1)clean :项目清理的处理,移除所有上一次构建生成的文件。
(2)default(或 build) :核心工作,例如编译,测试,打包,安装等。
(3)site : 产生报告,发布站点等。这套生命周期一般不会使用。
同一生命周期内,执行后边的命令,前面的所有命令自动执行
default构建生命周期:
5. IDEA配置Maven
5.1 IDEA配置Maven环境
-
选择IDEA中File—>Setting
-
搜索Maven
-
设置IDEA使用本地安装的Maven,并修改配置文件路径
5.2 Maven坐标详解
- 什么是坐标?
Maven 中的坐标是资源的唯一标识;使用坐标来定义项目或引入项目中需要的依赖 - Maven 坐标主要组成
- groupId:定义当前Maven项目隶属组织名称(通常是域名反写,例如:com.itheima)
- artifactId:定义当前Maven项目名称(通常是模块名称,例如 order-service、goods-service)
- version:定义当前项目版本号
- scope:范围,像Servlet、jsp依赖都需要设置范围为provided
5.3 IDEA创建Maven项目
-
创建模块,选择Maven点击Next
-
填写模块名称,坐标信息,点击finish,创建完成
-
编写HelloWorld,并运行
5.4 IDEA导入Maven项目
- 选择右侧Maven面板,点击+号
- 选中对应项目的pom.xml文件, 双击即可
- 如果没有Maven面板, 选择View --> Appearance --> Tool Window Bars
5.5 配置Maven-Helper插件
-
选择IDEA中 File --> Settings
-
选择Plugins
-
搜索 Maven,选择第一个Maven Helper,点击Install安装,弹出面板中点击Accept
-
重启IDEA
6. 依赖管理
6.1 使用坐标导入jar包
- 在pom.xml中编写< dependencies>标签
- 在< dependencies>标签中使用< dependency>引入坐标
- 定义坐标的groupld, artifactld, version
- 点击刷新按钮,使坐标生效
小技巧:如果本地仓库有需要的jar包可以直接快捷键alt+insert选择Dependency进行搜素
6.2 依赖范围
通过设置坐标的依赖范围(scope),可以设置对应jar包的作用范围:编译环境、测试环境、运行环境;< scope>默认值:compile