一、maven的基本概念
跨平台项目管理工具,主要服务基于Java平台的项目构建 依赖管理
1、项目的构建
过程:【清理】—>【 编译】—>【 测试】—>【 打包】—>【 部署】
2、依赖管理
使用Maven来管理项目中的jar包,自动下载项目中所需要的jar文件,统一管理jar包之间的依赖关系
二、maven的安装
1、目录的结构
可以设置maven的全局环境变量,来检查maven配置是否正确
在系统变量新建 MAVEN_HOME:
编辑path加入 %MAVEN_HOME%\bin
cmd输入 mvn -v 指令:检查配置是否正确
2、Maven的基本命令
mvn clean:清理
mvn compile :编译主程序
mvn test-compile :编译测试程序
mvn test:运行测试程序
3、Maven的构建过程
清理:将target 目录删除
编译:java源程序生成class字节码文件
测试:自动测试,调用junit程序
报告:测试程序执行的结果
打包:web工程大war包,Java工程打jar包
安装:Maven项目特有的概念,将jar包复制到仓库
部署:将web工程生成的war包复制到tomcat中
三、Maven的仓库
- 本地仓库:
当前系统部署的本地仓库,为当前系统中的maven服务 - 远程仓库:
中央仓库:架构在互联网上,全世界通用 - 中央仓库镜像,分担中央仓库的流量,提升访问速度
- 私服:搭建在局域网的环境中,为局域网的maven仓库提供服务
修改本地仓库的位置:打开maven下的conf文件夹中的setting.xml文件修改为
这样下载的依赖会导入到这个目录下
提高下载速度,还可以使用阿里镜像:
2、配置maven仓库
在maven中指定jdk的版本
四、Maven的依赖
依赖范围
依赖范围scope用来控制依赖jar包和编译,测试,运行的classpath的关联,主要取值
1.compile: 默认编译依赖范围,对于编译,测试运行三种classpath都有效
2.test: 测试依赖范围,只对于测试classpath有效
3.provided: 已提供依赖范围,对于编译,测试的classpath有效,对于运行无效,因为容器已经提供
4.runtime: 运行时提供
如JDBC驱动:
生命周期
Maven生命周期为了对所有的构建过程进行抽象和统一,包括项目清理,初始化,编译测试打包部署等构建工具
maven的三套相互独立的生命周期分别是:
- Clean LifeCycle: 在构建之前清理
- Default LifeCycle:构建核心部分编译测试部署
- Site LifeCycle:生成项目报告,站点,发布站点