Maven是一个跨平台的项目管理工具。作为Apache组织的一个颇为成功的开源项目,其主要服务于基于Java平台的项目创建,依赖管理和项目信息管理,是一个自动化构建工具。maven是Apache的顶级项目,解释为“专家,内行”,它是一个项目管理的工具,maven自身是纯java开发的( Theresult is a tool that can now be used for building and managing any Java-basedproject),可以使用maven对java项目进行构建、依赖管理。
1.管理jar包
(1)增加第三方jar包(不需要自己下载jar包)
(2)管理jar包之间的依赖关系(maven自动关联下载所有依赖的jar包)
2.将项目拆分成若干个模块:借助于Maven可以将一个项目拆分成多个工程。(例如爱洋葱)
1.清理(clean):删除编译的结果,为重新编译做准备。
2.验证(validate):验证项目是否正确且所有必须信息是可用的。
3.编译(cpmpile):java->class
4.测试(test):针对于项目中的关键点进行测试,也可用项目中的测试代码去测试开发代码
5.打包(package):将项目中包含的多个文件压缩成一个文件,用于安装或部署(java项目打成一个jar包,web项目打成一个war包,父工程-pom)
6.检查(verify):对集成测试的结果进行检查,以保证质量达标
7.安装(install):将打成的包,放到本地仓库,供其他项目使用。
8.部署(deploy):将打成的包,放到服务器上,准备运行。
Maven的好处总结起来有两点,分别是依赖管理,生命周期。
1.依赖管理:对第三方的jar包进行统一的管理,通过maven定义jar包的坐标,自动从maven仓库中下载到工程(体现了代码重用的原则)
2.生命周期:生命周期的一键构建,提供了一套对项目生命周期管理的标准,开发人员,测试人员统一使用maven进行项目的构建.项目的生命周期管理:编译,测试,打包,部署,运行
1.本地仓库 : 相当于缓存。本地仓库存储在本地的磁盘当中,里面存放的是经常使用的jar包。
2.远程仓库 : 也叫做私服。基本每个公司都会有自己的私服,当本地的磁盘中不存在需要的jar包资源,则会请求私服进行资源下载。
3.中央仓库 : 远程仓库,由jar专业团队统一维护。
groupId : 定义当前Maven组织的名称
artifactId : 定义项目模块
version : 定义当前项目的版本
scope : 依赖的范围;
其中,依赖范围如下图所示:(提醒一下provided,因为项目真正运行的时候,在tomcat有特定的serclet-api,所以在servlet-api的依赖范围规定为provided)
mvn clean命令; 清除target目录
mvn compile命令; 编译,生成target目录
mvn test命令; 将测试代码和核心代码一起编译
mvn package命令; 编译测试代码和核心代码并且打包对应的包类型
mvn install命令; 编译测试代码和核心代码并且打包对应的包类型并且将生成的包安装到本地仓库
mvn deploy命令; 用于发布项目
到此这篇关于Java基础之简单介绍一下Maven的文章就介绍到这了,更多相关Java Maven内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!