1.maven核心概念
1.1maven介绍
Maven翻译为“专家”、“内行”;是一个采用纯Java编写的开源项目管理工具,Maven采用了一种被称之为Project Object Model (POM)概念来管理项目,所有的项目配置信息都被定义在一个叫做POM.xml的文件中, 通过该文件Maven可以管理项目的整个声明周期,包括清除、编译、测试、报告、打包、部署等。目前Apache下绝大多数项目都已经采用Maven进行管理. 而Maven本身还支持多种插件,可以方便更灵活的控制项目, 开发人员的主要任务应该是关注业务逻辑并去实现它,而不是把时间浪费在学习如何在不同的环境中去依赖jar包、项目部署等。Maven正是为了将开发人员从这些任务中解脱出来而诞生的一个项目管理工具。
-
maven项目管理构建工具
- 项目管理:
- 管理项目的生命周期(clean、compiler、test、package、install、deploy)
- 管理jar包
- 项目构建:
- 分模块构建项目
-
小结
- 通过Project Object Model (POM)的概念管理整个项目的生命周期。
- 作用:
- 管理项目的生命周期(清理、编译、测试、打包、部署)
- 对jar包的统一管理(给项目添加依赖,就可以引用本地库中的jar包)
- 模块化构建项目(继承与聚合)
- maven管理项目的软件,常见的项目管理软件工具(ant、maven、gradle)
1.2 仓库
- Maven在某个统一的位置存储所有项目的共享的构件,这个统一的位置,就称之为仓库。(仓库就是存放依赖和插件的地方)Maven的仓库有两大类:1.本地仓库 2.远程仓库(又分为中央仓库、私服、其它公共库)
本地仓库:就是Maven在本机存储构件的地方。maven的本地仓库,在安装maven后并不会创建,它是在第一次执行maven命令的时候才被创建。maven本地仓库的默认位置:在用户的目录下都只有一个.m2/repository/的仓库目录;可以修改。
中央仓库:包含了绝大多数流行的开源Java构件,以及源码、作者信息、SCM、信息、许可证信息等。开源的Java项目依赖的构件都可以在这里下载到。http://repo1.maven.org/maven2/
私服:是一种特殊的远程仓库,它是架设在局域网内的仓库
1.3 小结
- 什么是仓库:存储jar包的地方就是仓库,使用maven后,项目中不存储jar包,需要jar包时候从本地库找。
- 仓库分为2类:本地仓库(本地存储jar包的地方)、远程仓库(中央仓库、第三方公用库、阿里云、私服、自己搭建(公司中都会自己搭建私服服务器))
1.4 项目中如何查找jar包?
没有使用私服的仓库构件下载
使用私服的仓库构建下载
1.5 坐标
- 什么是坐标:在平面几何中坐标(x,y)可以标识平面中唯一的一点。
- maven坐标的主要组成如下所示:
groupId:定义当前Maven项目隶属项目、组织
artifactId:定义实际项目中的一个模块
version:定义当前项目的当前版本
packaging:定义该项目的打包方式(pom/jar/war,默认为jar)
groupId、artifactId、version简称为GAV。
maven为甚么要使用坐标?
Maven世界拥有大量构件,需要找一个用来唯一标识一个构建的统一规范
拥有了统一规范,就可以把查找工作交给机器
如何获取坐标?http://mvnrepository.com/ 网站上可以搜索具体的组织或项目关键字,之后复制对应的坐标到pom.xml中。如:
1.6 需要收藏的地址
- 中央仓库的地址:http://repo1.maven.org/
- 坐标查找地址:http://mvnrepository.com/