一、Maven
问题1:在很多项目中,包含了很多模块,模块之间有关系,手动管理这些模块,需要花费大量的时间和精力。
问题2:很多第三方功能需要jar包,这些jar包需要在网上下载
问题3:你的项目a.jar需要使用b.jar里的某一个class,必须要先获取b.jar,这就要手动管理jar包之间的依赖
综上所述,maven应运而生。maven可以:
管理jar文件,自动下载jar文件。
管理jar的版本,管理jar包之间的依赖。
帮你测试代码。
帮你打包文件为jar包或war包
帮你部署项目
二、maven的安装和配置
1、从maven的官网下载安装压缩包[网址:](https://maven.apache.org/)
2、解压到一个【非中文】的目录下
3、配置环境变量:在系统的环境变量中,声明一个M2_HOME的路径,指定的值是maven安装的主目录(不用到bin):E:\Operating_environment_tools\apache-maven-3.8.4
4、在命令行里输入 mvn-v 输出maven版本号即为配置成功
三、maven约定的目录结构
Helllo/
---/src
---/main 放主程序和java代码
---/java 放程序包和包中的java文件
---/resource java文件中要使用的配置文件
---/test 测试的文件(可有可无)
---/java 放测试包和包中的java文件
---/resource
---/pom.xml maven的核心文件
![A{}YVZ[SUTVW{G%$G3DOLH.png
四、pom.xml文件分析:
坐标:唯一值,就像在互联网中的身份证号,是唯一的标识
<groupID>公司域名倒写</groupID>
<artifactID>项目名</artifactID>
<version>版本号</version>
五、在idea中设置maven(必会)
配置maven在idea中
六、创建一个maven项目
使用模板创建项目:maven-archetype-quickstart:普通的java项目
maven-archetype-web:普通的web项目
七、依赖范围
使用scope表示,scope的值有:compile,test,provided。默认是compile(编译:指从头到尾都要参与程序)
provided:提供者;只参与执行、测试,不参与部署、打包
scope表示依赖的范围,也就是maven构建的项目在哪个阶段(编译、测试、打包、安装、部署)起作用。
````
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
```` 说明junit 在test(测试)中起作用
八、其他的一些使用技巧
当项目中使用多个版本号,可以使用自定义全局变量,省去了修改版本号时逐个修改的麻烦
${变量名}
例如:首先在properties自定义版本号(spring为例)
<spring.version>5.2.1</spring.version>
然后找到对应的依赖,使用${标签名}的形式
以后再修改版本号,只需要修改properties中的自定义版本号即可