Maven
1.Maven简介
Maven主要有两个作用,一是项目构建,一是管理依赖
2.Maven特性介绍
1.什么是项目构建
项目构建就是将我们工程中的Java源文件、配置文件、jsp、HTML、css等等静态资源作为原材料,去组织生产出一个可以运行的项目的过程。
2.Maven如何完成项目构建
1.清理,删除之前的编译结果,为重新编译做好准备(把之前的class干掉)
2.编译,将Java源文件编译成字节码文件(java->class)
3.测试,执行项目中的单元测试(*Test)
4.报告,每次测试都会展示测试结果
5.打包,将多个文件打包方便部署到服务器上(打成一个jar包,也可能打成一个war包)
6.安装,将打包后的文件安装到本地仓库中(方便其他工程复用)
7.部署,将打包的结果部署到服务器上(将war包部署到Tomcat)
Maven可以让上面的一系列动作自动化,所以叫自动化构建
3.Maven如何实现管理依赖(重点)
1.以前,我们项目添加第三方jar包,需要反复复制粘贴
2.用了Maven之后,我们只需要在本地仓库保存一份即可,只需要在工程中以坐标的方式进行引用
3.jar之间的依赖关系管理
Ajar包依赖于Bjar包,如果只单独导入Ajar包,功能将不能正常实现,会报缺少jar包
用了Maven之后,相关依赖jar包会自动导入,我们不需要再去关注这个依赖关系
3.搭建Maven开发环境
1.安装Maven 下载解压到磁盘,配置环境变量,验证
2.采用阿里云仓库提高下载速度
3.Eclipse集成Maven
4.Maven工程概述
1.jar包工程
存放通用的工具类,方便其他工程复用
2.war包工程
能够对外提供web服务的工程
3.pom包工程
两个作用:1.可以作为父工程,起到版本控制的功能2.可以作为聚合工程,方便多个工程的统一管理
4.Maven的中央仓库地址: http://mvnrepository.com/
5.创建Maven的jar工程
6.创建Maven的war工程
7.创建Maven的pom工程
8.关于scope属性的理解
我们在为项目设置依赖时,其坐标除了上述的三个以外,还有一个scope,常用的有3个可选值,分别是compile,test,provided
1.compile vs test
Compile 对于主程序和测试程序都有效
Test 只对测试程序有效,一般单元测试包,我们采用test
2.compile vs provided
Compile 对于开发阶段和部署阶段都有效
Provided 只在开发阶段有效,部署阶段会被忽略,一般像servlet-api,我们采用这种方式