Maven基础的学习
1.Maven
在平时的项目中如何导入jar包
- 下载jar包(去网上自己一个一个下,也可以去mvn官网下)
- 将下载的jar包放入到项目中(WEB-INF/lib)
- 选择jar文件(Add as Library)
生命周期
项目从编译到运行的整个过程
清除缓存——校验——编译——测试——打包——安装——部署
但是这种方式导入jar包存在一些问题
- 步骤稍微多一点(
小问题
) - 如果在不同的项目中同时用到了一个jar包,那么这个jar包会被保存好机会(
冗余
) - 在不同环境下,jar文件版本不一样可能导致项目无法运行(
需要重新配置移植性差
) - 如果需要自定义生命周期管理,idea无法完成
Maven是一个基于对象模型(pom)进行项目依赖管理,生命周期管理的
工具
核心功能
- 依赖管理
- 生命周期管理
- 聚合工程
2.Maven安装及配置
Maven下载
直接解压就可以使用
- 解压(d:/mvn)
- 目录结构
- bin 存放指令文件(Maven提供了一个mvn指令)
- boot包含了一个类加载框架的jar文件
- conf 包含了Maven的核心配置文件settings.xml
- lib 存放了maven所需的jar文件 (Maven也是通过java代码来写的)
配置环境变量
MAVEN_HOME
D:\mvn\apache-maven-3.8.5PATH
%MAVEN_HOME%\bin
输入mvm --version 出现如下界面说明安装成功 |
---|
04.png)] |
3.Maven项目结构
使用Maven项目的好处:无论使用什么样的开发工具(eclipse/idea)项目结构是统一的
book(项目名称)
——src
——main(存放源代码的源文件)
——java(相当于idea中的src目录)
——resources(相当于idea中的web目录)
——test(存放项目的单元测试代码)
pom.xml
pom Project Object Model, Maven可以根据pom文件的配置对此项目进行依赖管理,项目中如果需要什么依赖,可以直接在pom.xml中去配置
<?xml version="1.0" encoding="utf-8"?>
<project>
<!--指定项目模型的版本-->
<modelVersion>4.0.0</modelVersion>
<!--指定项目的标识:G 企业标识 A 项目标识 V 版本-->
<groupId>com.cn</groupId>
<artifactId>book</artifactId>
<version>1.0.0</version>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
</dependencies>
</project>
如果项目中需要依赖,只需要在pom.xml中配置即可,从网上下载dependency坐标
4.依赖管理
Maven仓库
本地仓库
就是本地计算机上的某个文件夹远程仓库
就是远程主机上的jar文件仓库中央仓库
maven官方提供的仓库,包含了所需的一切依赖(不需要自己去手动配置)公共仓库
除了中央仓库以外所有的第三方仓库都是公共仓库。私服
企业搭建的供内部使用的maven仓库
仓库的配置
- 在settings.xml中去配置
- 配置本地仓库
<localRepository>d:\repo</localRepository>
- 配置公共仓库
<mirrors>
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
</mirrors>
5.生命周期管理指令
1.项目构建的生命周期:项目开发结束之后部署到运行环境有七个步骤
- 清除缓存(清除out中的文件)
- 检查
- 编译
- 测试(测试就会执行test目录下的单元测试)
- 打包(如果是java工程则是jar, 如果是web工程则为war)
- 安装(jar会被安装到本地仓库)
- 部署(将项目生成的包放到服务器中)
2.在项目的根目录下执行mvn指令(此目录下必须包含pom.xml文件)
-
清除缓存
mvn clean
-
检查
mvn check
-
编译
mvn compile
-
测试
mvn test
-
打包
mvn package
-
安装
mvn install
-
部署
mvn deloye