目录
一.概念
1.1什么是Maven
maven是Java项目管理和创建工具,可以定义项目结构,项目依赖,并使用统一方式进行自动化构建,是Java项目不可缺少的工具。
1.2优点
①减少了繁琐的部署流程(编译-->测试-->打包-->部署),可以实现自动化部署流程(一键部署)
②提供了一套依赖管理机制(管理项目所有jar包),即利用仓库进行管理
③利用“依赖传递”特性,把相关的jar包引入进来
1.3项目结构
生成的项目结构:
1.4Maven模型和安装文件
项目对象模型:提供了项目描述,项目的坐标信息,方便其他Maven项目对该项目的引用
依赖管理模型:通过Maven坐标额能够定位到具体的jar,方便下载
插件:提供了编译打包清除等功能
-
bin目录:存放可以执行命令,重点关注mvn
-
config目录:存放maven 配置文件。重点关注 setting.xml
-
lib目录:存放maven依赖
1.5Maven仓库构建过程
本地仓库:自己计算机的一个文件夹,里面管理了各种各样的jar(这个是默认的可以进行更 改)
中央仓库:是Maven 团队维护的一个仓库
Maven Repository: Search/Browse/Explore (mvnrepository.com)地址
公司远程私服:由公司团队搭建的私有仓库
1.6坐标信息
二.操作
2.1系统环境变量配置
将下载的maven包中的bin文件夹所在目录的路径添加系统环境变量,
再将变量名配置到Path中
验证一下是否配置成功
2.2更换仓库地址和idea中的配置
①首先找到config中的settings.xml,打开
更改路径为自己的文件夹
②更改idea中的设置,更改成自己下载的maven和自己配置的settings和自己配置的本地仓库
③使用阿里云进行下载,在一开始时本地仓库中没有jar,会在网站上进行拉取(这个更快速一 些,因为默认的下载路径是国外的)
更改下载路径,下面是更改完成以后的下载图片,已经变成了在阿里云上下载
2.3引用依赖
在中央仓库中找到你需要的jar包,复制下面信息到idea中
先去本地仓库查找没有的话去中央仓库下载,然后放到本地仓库,再从本地仓库中引用。
三常用命令
3.1clean 清理
会清除target文件
3.2compiler 编译
在本项目文件夹下,使用cmd窗口编译,之后会生成 一个target文件
也可以使用按钮
3.3test 测试
会自动执行Test文件夹中的java文件
3.4package打包
会把项目生成一个jar包
3.5install安装
把当前的项目变成一个jar包,并安装到本地仓库,安装路径是groupId中的路径
四生命周期和依赖范围
4.1顺序
clear-->complie -->test -->package -->install(执行install时会依次执行前面的命令)
4.2范围(scope)
这个jar包在哪些范围有效,在别的范围下不能被引用
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
<scope>test</scope>
</dependency>
优点:通过合理使用不同的依赖设置范围,可以优化构建和运行时的依赖项管理,提高项目的可维护性和性能。
Scope 取值 | 编译阶段 | 运行阶段 | 测试阶段 | 例子 |
compile(默认) | √ | √ | √ | logback |
runtime | √ | √ | jdbc驱动包 | |
test | √ | junit | ||
system | √ | √ | 储存本地包 | |
provided | √ | √ | servlet |
图片来自:b站图灵学院
五注意
①创建自己的本地仓库时使用全英文路径,否则会报错
②创建Test中的java文件时,文件名应该以Test开头,否则不会运行
/*自己复习用,如有问题欢迎指*/