一、maven是什么
maven主要使用基于java平台的项目构建、依赖管理和项目信息管理。
二、maven做什么
1、下载依赖包:在项目文件pom.xml中,只要写入该jar包的groupId,artifactId,以及version就可以下载该jar包以及依赖包,当该jar包依赖冲突自动可以排除掉,但是不同的jar之间依赖冲突不能自定解决,需要手动排除。
2、项目的构建:内置很多的插件与生命周期,支持多种任务,比如校验、编译、测试、打包、部署、发布
3、 项目的知识管理:管理项目相关的其他内容,比如开发者信息,版本等等
jar包的依赖实例
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope> 这是声明的范围,不同的生命周期所要求的范围是不一样的,详情参考《Maven实战》
</dependency>
四、maven概念
1、仓库
1 )本地仓库:本地仓库用于存储从远程下载的jar,以提供给项目使用,这样也不需要每次从远端仓库下载jar
2)私服:私服是使用者自己搭建的maven仓库,用于缓解频繁从外网下载jar包资源的压力。而且使用私库作为缓存层,也相对安全一些。
3)中央仓库:一些大公司提供的远程仓库用于开发者使用
五、maven原理
1、项目根据setting.xml中配置的本地仓库地址,从本地仓库寻找需要的jar。
2、如果本地仓库没有,则根据settting.xml中配置的私服从私服上下载包到本地仓库中。
3、如果本地仓库没有,则根据setting.xml中配置的私服会自动从中央仓库获取包到私服、然后从私服下载包到本地仓库中供项目使用。
4、如果没有私服,则根据settingx.xml中配置的中央仓库,直接从中央仓库下载包到本地仓库供项目使用。