Maven
注意:重点学习一下第四章和第六章就行
一、Maven简介
1.1、传统方式在项目中如何导入jar包
- 下载jar包
- 将下载的jar包拷贝到项目中(web-inf/lib)
- 选择jar文件-右键-add as library
1.2、传统导入jar包的方式存在什么问题?
- 步骤多 ---------------------------繁琐
- 在不同的项目中如果需要相同的jar包,需要导入多次-------------------冗余、项目体积大
- 在不同的环境下可能因为jar文件版本不一致导致项目无法运行(重新配置) -------------移植性差
1.3、什么是Maven
Maven是一个基于项目对象模型(pom)用于进行项目的依赖管理、生命周期管理的工具软件
二、Maven安装及配置环境变量
2.1、Maven下载
2.2、Maven安装
开箱即用:解压就行(Maven使用java语言编写所以电脑必须有java环境)
目录结构:
- bin存放指令文件(maven提供啦一个mvn指令)
- boot包含啦一个类加载框架jar文件
- conf包含啦maven的核心配置文件settings.xml
- lib存放啦maven运行的jar文件
2.3、环境变量配置
在电脑环境变量配置中配置
MAVEN_HOME D:\idea\Maven\apache-maven-3.6.3(maven安装目录)
Path %MAVEN_HOME%\bin (maven的bin目录)
三、Maven的项目结构
使用maven进行项目管理还有一个好处,无论使用什么开发工具(eclipse/idea)项目的结构是统一的。
3.1、Maven的项目结构
fmwy(项目名称)
—src
----main(存放项目的源文件)
----java(存放java代码,相当于传统项目中的src目录)
----resources(存放配置文件和静态资源的目录,相当于传统项目的web目录)
----test(存放项目的单元测试代码)
—pom.xml
3.2、pom.xml(这里单独拉出来介绍)
POM project object model Maven可以对此项目进行依赖管理,也就是说项目中需要依赖直接在pom.xml进行配置即可
<?xml version="1.0" encoding="utf-8"?>
<project>
<!--指定项目模型的版本-->
<modelVersion>4.0</modelVersion>
<!--指定项目的标识,G:企业标识A:项目标识V:-->
<groupId></groupId>
<artifactId></artifactId>
<!--版本-->
<version>1.00</version>
<!--配置当前项目的依赖-->
<dependencies>
</dependencies>
</project>
注意:xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
这个是语法规则,也叫约束
https://mvnrepository.com/ 可以查询依赖
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.24</version>
</dependency>
四、依赖管理
4.1 Maven是如何进行依赖管理
①程序员在pom.xml中配置依赖后,Maven会自动/手动更新依赖
②Maven读取项目所需依赖
③Maven检查本地仓库是否有所需要的依赖,如果有直接引入到项目中
④如果没有则Maven会从远程仓库进行下载(需要网络)
⑤Maven将远程仓库下载的依赖会先保存在本地仓库,在从本地仓库引用到项目中
注意:本地仓库中的jar包和项目之间只是引用关系
4.2、Maven仓库介绍
maven仓库分为:本地仓库和远程仓库
本地仓库:就是计算机上的一个文件夹(建议选择一个大一点的磁盘)
远程仓库:就是远程主机上的jar文件仓库
- 中央仓库: maven官方提供的仓库
- 公共仓库:除啦中央仓库以外第三方库都叫公共仓库,比如aliyun(需要配置,下面会介绍怎么配置)
- 私服 : 企业内部搭建的供内部使用的mavne仓库
4.3、配置本地仓库
在maven_home/conf/settings.xml中进行配置(目录是自己选择的一个目录):
<localRepository>D:\idea\repository</localRepository>
4.4、配置远程仓库
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
五、项目生命周期管理
5.1、生命周期介绍
项目开发结束之后部署到运行环境运行的过程
- 清除缓存
- 检查
- 编译
- 测试
- 打包
- 安装
- 部署(将项目生成的包放到服务器中)
5.2、生命周期管理指令
在项目的根目录下执行mvn指令(此项目必须包含pom.xml)
- 清除缓存
mvn clear
- 检查
mvn check
- 编译
mvn compile
- 测试
mvn test
- 打包
mvn package
- 安装
mvn install
- 部署
mvn deploye
六、基于Idea中使用maven
第一步:File-------Setting for New Projects------Build------Build Tools------Maven
说明:考虑到Idea和Maven的兼容性,Idea本身集成啦Maven,Idea不建议配置比默认更新的版本
第二步:点击Apply之后点OK就完成啦配置