maven是基于java平台的项目构建,依赖管理和项目信息管理的一个工具。

maven能为我们解决什么问题?

①添加第三方jar包 按照最原始的做法,我们是手动复制jar包到项目WEB-INF/lib下,每个项目都会有一份,造成大量重复文件。而Maven将jar包放在本地仓库中统一管理,需要jar包只需要用坐标的方式引用即可。

②jar包之间的依赖关系 jar包之间往往不是独立的,很多jar需要在其他jar包的支持下才能够正常工作,称为jar包之间的依赖关系。如果我们手动去导入,要知道jar包之间的依赖关系并一一导入是及其麻烦而且容易出错的。如果使用Maven,它能够将当前jar包所依赖的其他所有jar包全部导入。

③获取第三方jar包 开发过程中我们需要用到很多jar包,每个jar包在官网获取的方式不尽相同,给工作带来了额外困难。但是使用Maven可以以坐标的方式依赖一个jar包,Maven从中央仓库进行下载,并同时下载这个jar包依赖的其他jar包。

④将项目拆分为多个工程模块 项目的规模越来越大,已经不可能通过package结构来划分模块,必须将项目拆分为多个工程协同开发。

说说maven有什么优缺点?

优点

简化了项目依赖管理

易于上手,对于新手来说了解几个常用命令即可满足日常工作

便于与持续集成工具(jenkins)整合

便于项目升级,无论是项目本身还是项目使用的依赖

maven有很多插件,便于功能扩展

缺点

Maven是一个庞大的构建系统,学习难度大。(很多都可以这样说,入门容易[优点]但是精通

难[缺点])

Maven采用约定约定优于配置的策略,虽然上手容易但是一旦出现问题,难于调试中网络环境

较差,很多repository无法访问

maven生命周期

maven排除依赖包的子依赖中的依赖 maven依赖其他项目_maven