Maven简介
一:Maven是什么?为什么使用Maven?
Maven是一个跨平台的项目管理工具。使用java语言开发(Maven 3.3+ require JDK 1.7 or above to execute)
Maven主要有两大功能:依赖管理、项目构建
依赖可以理解成jar包。
项目构建包括以下环节:清理、编译、测试、报告、打包、部署
项目构建的方式对比如下:eclipse ant maven
eclipse:使用eclipse进行项目的构建,相对来说,步骤零散,不好操作。
ant:是一个专门的项目构建工具,通过一些配置来完成项目构建,这些配置要明确的告诉ant,源码包在哪?目标class文件应存放在哪?资源文件应该在哪?
maven:是一个项目管理工具,通过使用maven,可以对项目进行快速简单的构建,不需要告诉maven很多信息,但需要按照maven的规范去进行代码的开发,也就是说maven是有约束的。
二:Maven下载(下载=>解压)
2-1 进入maven官网下载页面:http://maven.apache.org/index.html 左侧有个download
![](https://i-blog.csdnimg.cn/blog_migrate/4d0a5c864c870639d8cf24a2d1841d82.png)
2-2 选择download 往下翻页看到Files,选择apache-maven-3.6.2-bin.zip下载
![](https://i-blog.csdnimg.cn/blog_migrate/a8dabc1eea928b139633109299fe51ee.png)
三:Maven目录结构介绍及Maven环境变量配置(解压Maven)
![](https://i-blog.csdnimg.cn/blog_migrate/466068d948b8e99a832404c33384e29a.png)
配置Maven环境变量(MAVEN_HOME和path)
![](https://i-blog.csdnimg.cn/blog_migrate/e9768b13fc33d40f288edee7c9f26b01.png)
![](https://i-blog.csdnimg.cn/blog_migrate/099f90e6755a542e9f1809af5f01c13d.png)
测试maven是否安装成功:在系统命令行中执行mvn –v(出现Maven的版本号代表配置成功)
![](https://i-blog.csdnimg.cn/blog_migrate/4434330e38400ec5926288809265b5ce.png)
四:配置settings.xml
本地仓库与中央仓库
![](https://i-blog.csdnimg.cn/blog_migrate/bc7c61afb942a01e8227e5e4f9e9bee9.png)
默认本地仓库存放位置是在系统用户目录下的.m2/repository中。因为仓库很大,最好不要放在C盘,重新指定存放目录。将安装包中conf目录下的settings.xml拷贝到.m2目录下,并修改上面标签。如:
注意:默认.m2目录不存在,因为没有执行任何maven相关命令,在命令窗口中执行【mvn help:system】命令,则自动生成.m2目录
![](https://i-blog.csdnimg.cn/blog_migrate/4996f80e4623fed0008ae89d68bb5c75.png)
<localRepository>D:/MavenForRepository</localRepository>
![](https://i-blog.csdnimg.cn/blog_migrate/e391aee1cba3deb293b3c4510871be6b.png)
JDK版本配置(默认maven的jdk编译版本不是自己安装的1.8版本。需要进行版本配置,修改settings.xml 如下)
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
![](https://i-blog.csdnimg.cn/blog_migrate/1e50b8c623190caf0952590b03cd13d1.png)
mirror 镜像配置(镜像就相当于是中央仓库的一个副本,内容和中央仓库完全一样。目前有不少国内镜像,其中阿里云算是比较稳定的,同时也能保证下载速度)
![](https://i-blog.csdnimg.cn/blog_migrate/a09a580ee8d172314c2b278191c2ef80.png)
修改settings.xml如下:
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
![](https://i-blog.csdnimg.cn/blog_migrate/f43fbd4e560effd71b1c5542fe01a109.png)
五:Maven项目的生命周期
在maven中存在"三套"生命周期,每一套生命周期相互独立,互不影响。在一套生命周期内,执行后面的命令则前面操作会自动执行。
CleanLifeCycle:清理生命周期
clean
DefaultLifeCycle:默认生命周期
compile、test、package、install、deploy
SiteLifeCycle:站点生命周期
site(生成html文档描述项目的一些信息)
六:Eclipse集成Maven(插件群文件有:839725710)
6-1 安装m2e离线Maven插件(也可在线,推荐离线),将插件拷贝到eclipse的dropins目录下,重启Eclipse。
![](https://i-blog.csdnimg.cn/blog_migrate/174b16fd57a980c2bab256dcf19eab79.png)
6-2 设置maven的安装路径(maven解压路径)
![](https://i-blog.csdnimg.cn/blog_migrate/f8ffa43e56c989d4597530bf21b8f997.png)
6-3 修改User Settings 指定本地仓库(settings.xml本地仓库修改后,必须先执行updata settings)
![](https://i-blog.csdnimg.cn/blog_migrate/986979f88b3701ad0f367401af221b51.png)
七:maven项目直接的关系
7-1 依赖[具有传递性]
在工程之中需要依赖各种各样的jar包,也可能需要依赖其他的maven工程打包好的包。这个时候就需要在pom.xml中使用依赖关系进行配置。
例子:让Maven02项目依赖与Maven01项目,在Maven02项目添加Maven01的坐标信息