Maven的作用:
1. 管理Jar
(1)增加第三方Jar
(2)jar包之间的依赖关系(commons-fileupload.jar 自动关联下载所有依赖的Jar,并且不会冲突)
2.将项目拆分成若干个模块
Maven的概念:
1.是一个基于Java平台的自动化构建工具。
2.make-ant-maven-gradle
3.自动化构建工具maven:将原材料(java、js、css、html、图片)—>产品(可发布项目)
下载Maven
下载地址: http://maven.apache.org/download.cgi
下载完成以后解压,然后配置环境。
(1)配置JAVA_HOME
(2)配置MAVEN_HOME
(3)配置path
(4)验证cmd检查配置是否成功
出现以上配置说明配置成功
(5)修改本地仓库的配置(setting.xml中)
使用Maven
1.maven约定的目录结构
Maven的生命周期
生命周期包含三个阶段
1.clear lifecycle:清理
命令:
- pre-clear
- clear
- post-clear
2.default lifecycle:默认(常用)
命令:
- install
- test-compiler
- package
- test
- complier
3.site lifecycle:站点
命令:
- pre-site
- site
- post-site
- site-deploy
依赖
1.依赖的范围、依赖的有效性
complie(默认) test provided
2.依赖排除
A.jar—>B.jar
当我们通过maven引入A.jar时,会自动引入B.jar
3.依赖的传递性
A.jar—>B.jar—>C.jar
依赖的传递性的好处:可以传递的依赖不必在每个模块工程中都重复声明,在”最下面”的工程中依赖一次即可
注意:非compile范围的依赖不能传递.所以在各个工程模块中,如果有需要就得重复声明依赖。
4.多个maven项目(模块)之间如何依赖:p项目依赖于—>q项目
(1)p项目install到本地仓库
(2)q项目在pom.xml文件中导入依赖(即q项目的坐标)
5.依赖原则:为了防止冲突
(1)路径最短优先原则
(2)路径长度相同:
①在同一个pom.xml文件中有两个相同的依赖,后面声明的依赖会覆盖前一个声明的依赖(严禁使用)
②如果是在不同的pom.xml文件中有两个相同的依赖:则先声明的依赖会覆盖后声明的依赖。
6.Maven继承的实现
A—>B—>C
if B是在compile范围内依赖于C,则A—>C
先创建父工程 并且 把 选项勾上
packing 选择 pom
在外层在嵌套一个depengcyManagement
在子类下操作
在子类下声明
7.Maven聚合的实现