什么是Maven?
Maven是一款帮助程序员构建项目的工具,我们只需要告诉Maven需要哪些Jar 包,它
会帮助我们下载所有的Jar,极大提升开发效率。
Maven的作用
1.开发中,为了保证编译通过,我们会到处去寻找jar包,当编译通过了,运行的时候,却发现"ClassNotFoundException",难道还差jar包?再去找找吧
2.每个Java项目的目录结构都没有一个统一的标准,配置文件到处都是,单元测试代码到底应该放在那里也没有一个权威的规范
因此,我们就要用到Maven(使用Ant也可以,不过编写Ant的xml脚本比较麻烦)----一个项目管理工具。
3.Maven主要做了两件事:
- 统一开发规范与工具
- 统一管理jar包
pom.xml详解
pom.xml是Maven的核心,你的项目需要什么Jar包就在pom.xml里面配置。当编译项目时Maven读取该文件,并从仓库中下载相应的Jar包.
刚创建好的pom.xml中是这样的
里面的标签的含义:
1.modelVersion
表名当前Maven模型的版本。
2.groupId
公司或者组织名。一般来说groupId是由三个部分组成,每个部分之间以"."分隔,第一部分是项目用途,比如用
于商业的 就是"com",用于非营利性组织的就 是"org";第二部分是 公司名,如"tengxun"、"baidu"、
"alibaba";第三部分是你的项目名。
3.artifactId
Maven构建的项目名,比如你的项目中有子项目,就可以使用"项目名-子项目名"的命名方式
4.version
版本号,SNAPSHOT意为快照,说明该项目还在开发中,是不稳定的版本。在Maven中很重要的一点是,groupId、
artifactId、version三个元素生成了一个Maven项目的基本坐标,这非常重要,我在使用和研究Maven的时候
多次感受到了这点。
什么是Maven仓库?
Maven仓库用来存放Maven管理的所有Jar包。分为:本地仓库 和 中央仓库。
- 本地仓库
Maven本地的Jar包仓库。 - 中央仓库
Maven官方提供的远程仓库。
当项目编译时,Maven首先从本地仓库中寻找项目所需的Jar包,若本地仓库没有,再到Maven的中央仓库下载所需Jar包。