Maven笔记(更新中)
Maven
1、学习目标
-
会使用maven构建项目的命令
-
会使用maven构建java项目和java web项目
-
依赖管理–传递依赖 版本冲突处理
-
在web的单个工程中实现jsp+servlet整合。
-
分模块构建工程
-
会向私服上传jar包。会从私服下载jar包
2、Maven介绍
2.1 maven是什么
-
maven翻译为“专家”,“内行”。
-
Maven是Apache下的一个纯java开发的开源项目,它是一个项目管理工具,使用maven对java项目进行构建、依赖管理。当前使用Maven的项目在持续增长。
2.2 什么是项目构建
-
项目构建是一个项目从编写源代码到编译、测试、运行、打包、部署、运行的过程
2.3 构建过程
2.3.1 传统项目构建过程
-
传统的使用eclipse构建项目的过程如下:
2.3.2 maven项目构建过程
-
maven将项目构建的过程进行标准化,每个阶段使用一个命令完成,下图展示了构建过程的一些阶段,后面章节详 细介绍每个阶段,这里先大概了解下:
-
清理 mvn clean
-
编译 mvn compile
-
测试 mvn test
-
报告 mvn site
-
打包 mvn package
-
部署 mvn deploy
2.4 jar依赖管理
2.4.1 传统项目的依赖管理
-
传统的项目工程要管理所依赖的jar包完全靠人工进行,程序员从网上下载jar包添加到项目工程中,如下图:程序 员手工将Spring、SpringMVC、Mybatis的jar添加到工程中的WEB-INF/lib目录下。
手工拷贝jar包添加到工程中的问题是:
-
没有对jar包的版本统一管理,容易导致版本冲突。
-
从网上找jar包非常不方便,有些jar找不到。
-
jar包添加到工程中导致工程过大。
2.4.2 maven项目的依赖管理
-
maven项目管理所依赖的jar包不需要手动向工程添加jar包,只需要在pom.xml(maven工程的配置文件)添加jar
-
包的坐标,自动从maven仓库中下载jar包、运行,如下图:
使用maven依赖管理添加jar的好处:
-
通过pom.xml文件对jar包的版本进行统一管理,可避免版本冲突。
-
maven团队维护了一个非常全的maven仓库,里边包括了当前使用的jar包,maven工程可以自动从maven仓库
下载jar包,非常方便。
2.5 使用maven的好处
通过上边介绍传统项目和maven项目在项目构建及依赖管理方面的区域,maven有如下的好处:
-
一步构建
maven对项目构建的过程进行标准化,通过一个命令即可完成构建过程。
-
依赖管理
maven工程不用手动导jar包,通过在pom.xml中定义坐标从maven仓库自动下载,方便且不易出错。
-
maven的跨平台,可在window、linux上使用。
-
maven遵循规范开发有利于提高大型团队的开发效率,降低项目的维护成本,大公司都会考虑使用maven来构
建项目。