某天你新入职一家公司,领导说第一件事,你先把自己的环境搭建好吧。
于是你装了JDK,装好maven,装好IDEA开发环境,导入工程和项目,然而发现 整个工程一片飘红,jar包冲突,项目path不对,maven包找不到依赖。 。 。
各类问题纷至沓来,半天时间过去了,你满头大汗,项目还是不能启动?怎么办?身边陌生的同事不时投来询问的目光,仿佛在说,“ 来了一个low逼,一个开发环境都不会搞 ”。
这是我第一天去上班的情景,怎么样,你是否似曾相识?那问题来了,我们到底是哪里功力不到呢?这就是今天要说的,当今java项目的基石---Maven,那么关于Maven,我们要了解哪些呢?都在下面:
关于Maven 我们需要知道:
1、 本地仓库?Maven到底有哪些仓库?它们什么关系?
M aven仓库
本地仓库路径配置
2、 关于<dependency>的使用
依赖管理
3、 Maven为什么会出现依赖冲突?如何处理依赖冲突?
4、 引入依赖的最佳实践,提前发现问题!
在工程中,我们避免不了需要加一些依赖,也许加了依赖后运行时才发现存在依赖冲突再去解决,似乎有点晚!那么能不能提前发现问题呢?
如果我们新加入一个依赖的话,那么先通过mvn dependency:tree命令形成依赖树,看看我们新加入的依赖,是否存在传递依赖,传递依赖中是否和依赖树中的版本存在冲突,如果存在多个版本冲突,利用上文的方式进行解决!
5、Maven规范化目录结构
6、Maven的生命周期
Maven 生命周期
我们只需要注意一点: 执行后面的命令时,前面的命令自动得到执行。
实际上,我们最常用的就是这么几个:
clean: 有问题,多清理!
package: 打成Jar or War包,会自动进行clean+compile
install: 将本地工程Jar上传到本地仓库
deploy: 上传到私服
7、关于scope依赖范围
8、不同环境使用不同配置:Profile+Filter
9、多模块开发:继承与聚合
10、私服
私服,我们对其的印象,就如上图所示。其实在日常中,我们对于私服的操作主要在于:
第一:可以搜索依赖坐标得到XML片段;
第二:deploy 依赖到私服以及从私服下载依赖;
group:一个仓库组,说白了,就是几个仓库的集合。
hosted:宿主仓库,存储公司内部开发的jar,分为Releases/Snapshots。
proxy:用于代理中央仓库。
在互联网项目开发中,尤其Java板块,Maven十分常见。Maven的仓库管理、依赖管理、继承和聚合等特性为项目的构建提供了一整套完善的解决方案。如果你不懂Maven,遇到多模块的项目,依赖冲突就会让你 (被水淹没) 不知所措,甚至搞不懂项目的运行原理。你有没有被Maven“伤害”过?今天,我们的口号就是: 4小时搞定Maven!
想搞定Maven,那就扫扫这个二维码吧
Peter 老师
前阿里 高级架构师
系统架构师及微服务之先驱,JEECG极速开发框架的设计与布道者;
专精领域: 微服务设计与编排、高并发架构设计与重构、国内外前沿开源技术封装及引进等。
课程内容
Maven不得不知道的那些事
☞轻轻松松装Maven;
☞各类配置全扫盲;
☞正本清源讲Maven生命周期的来龙去脉;
☞ Maven各类plugin与生命周期的绑定与使用套路;
☞ 手把手教你写Maven插件;
Maven进阶实战,再上一层楼
☞ Maven的仓库依赖机制解析;
☞ Maven私服轻松搭建;
☞ 使用私服代理你的项目依赖;
☞ 统一定制你自己企业项目结构;
原价199、299,现在统统只要1毛钱!
发送暗号“ 666 ” 添加小姐姐微信吧
你点的每个“在看”,我都认真当成了喜欢