一、Why
1.添加第三方jar包
· 解决了大量重复性jar包问题
· 放在建立的本地仓库中
2.解决了jar包之间的依赖关系
· 自动管理依赖
3.处理jar包冲突
· 两条依赖原则:最短路径者优先和先声明者优先(路径相同时)
4.获取第三方jar包
· 自动从中央仓库中下载
5.一个项目拆分成多个部分
· 分布式部署,开发任务分配,代码维护上,部署运行上都有效管理
· 所有jar包交给环境模块管理,传递给别的模块
6.实现项目分布式部署
· 每个模块独立运行在一个独立的tomcat上,分模块开发部署,全独立开发
· 这种在发生高并发时,一个模块出了问题不会影响别的模块
二、What
1.Maven是一款自动化构建工具,专注服务于Java平台的项目构建和依赖管理。
2.类似构建工具
Make→Ant→Maven→Gradle→其他…
3.构建就是以我们编写的Java代码、框架配置文件、国际化等其他资源文件、JSP页面和图片等静态资源作为“原材料”,去“生产”出一个可以运行的项目的过程。
* 部署项目时有META-INF、WEB-INF和JSP,其中WEB-INF下还要有build下的classes类路径
4. 构建环节
①清理:删除以前的编译结果,为重新编译做好准备。
②编译:将Java源程序编译为字节码文件。
③测试:针对项目中的关键点进行测试,确保项目在迭代开发过程中关键点的正确性。
④报告:在每一次测试后以标准的格式记录和展示测试结果。
⑤打包:将一个包含诸多文件的工程封装为一个压缩文件用于安装或部署。Java工程对应jar包,Web工程对应war包。
⑥安装:在Maven环境下特指将打包的结果——jar包或war包安装到本地仓库中。
⑦部署:将打包的结果部署到远程仓库或将war包部署到服务器上运行。
5.完成自动化构建
6.核