![079e6ec6d721a3293a7593c248354f8f.png](https://i-blog.csdnimg.cn/blog_migrate/a090156c8f1ef1b72068f4500f638d8c.jpeg)
maven是企业项目的管理工具,非常重要。
背景:开发一个大的项目,最近学了很多,以前觉得网上都有随便拉拉依赖就好。可是真的懂了吗???面试的时候生命周期刷刷刷跟着面试官说,可是真的懂了吗?
第二点:我想;做一个持续更新的文章,确实最近很忙,但是不想就干活不总结,立个flag争取起个头,逼自己慢慢更新。
提示:我的这篇文章根据自己写项目一点点更新,全部是根据项目反推原理。怎么学习呢,先看思维导图,然后去百度找前面3部分,做一下案例,我估计99%都会。
一、学习路线
![0453e1f46862753c618eaa45a10c64aa.png](https://i-blog.csdnimg.cn/blog_migrate/3724175a92fea64275cd78d19a329341.jpeg)
再苦再累在忙也要每天更新一点!!更新时间20200325
======================================================
二、我们为什么使用需要maven
没有maven之前:
我们在做功能模块+单元测试+单元测试覆盖率的工作时候,需要引入大量的第三方JAR包,需要手动进行配置,十分的麻烦;往往还有依赖冲突的问题。
同时啊,我们编译+打包+部署的活都需要手动去解决,很麻烦。如果是大系统的话,几个组围在一起,大家就为了解决这一个问题,开发效率很低。
有了maven之后:
1,我们可以通过maven吧工程集成到一块;2,自动依赖。3:就是通过maven命令,进行编译+打包+部署。4:数十个工程一起打包发布==》一键进行部署。
20200327 更新
=======================================================
三、maven快速入门
3.1maven的安装
maven快速入门第一步,下载对应的win版本+环境变量的设定
传送门:https://www.cnblogs.com/codingcloud/p/5009760.html。
3.2maven构建项目
1,修改setting.xml文件中的镜像:
maven有个中央仓库服务器在国外,所以我们下载jar时间很长,但是国内有阿里云镜像,我们就比较方便。
我的setting.xml文件地址 C:Usersxiang.m2setting.xml。
<mirror>
<id>aliyunmaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>https://maven.aliyun.com/repository/public </url>
</mirror>
2,我们创建一个maven工程。
其中src/main/java目录包含了这个项目的java源码,src/test/java目录包含了测试代码,pom.xml文件是maven的核心配置文件。
![d2d8c209764251d4c7da3aaadc489eda.png](https://i-blog.csdnimg.cn/blog_migrate/25a684c1a3a8d721a3ec36db8d51a67d.jpeg)
![a207e3389ec72410fd1209ef93006428.png](https://i-blog.csdnimg.cn/blog_migrate/89309694d516c7f972bac8cff504ad4a.jpeg)
![40f1ad5a3119d3c2fdfb6e2695a5a2df.png](https://i-blog.csdnimg.cn/blog_migrate/eace782e65e8e779b384c8036117aaaa.jpeg)
![32106831ef0a97520b1070c0d25f8e50.png](https://i-blog.csdnimg.cn/blog_migrate/1372bf4605218b55d0ad2b50c558bfea.jpeg)
![833b663299217d87c79f6a49c64dbc9d.png](https://i-blog.csdnimg.cn/blog_migrate/2face0279d2226e912f7a73a99ed356c.jpeg)
Group Id:com.owen.oa 中间一般是公司的名称 第三位就是项目的名称
ArtifactId :项目有很多个模块,这是其中的一个模块
Version:版本 1.0.0 -SNAPSHOT 版本号 +SNAPSHOT :一般都是本地的开发版,只做过单元测试,没有经过
集成测试的版本。
Package:打包后的名称。
![1f9c2a65e012068263534c8f6446ccd2.png](https://i-blog.csdnimg.cn/blog_migrate/b1358947ecaff8c8d30c08d814fbdbf5.jpeg)
我们初识pom.xml文件,大概情况在这里面,有些不懂的参数我们后期会慢慢解答
![a0e2d48836d97ee2cf910ce855723a78.png](https://i-blog.csdnimg.cn/blog_migrate/bfbd5fb0a7c5180c4fd70e6e1e119ab9.png)
我们再看目录:实际上src/main/java:java代码
src/test/java:测试代码
src/main/resources:配置文件的地方。