Maven基础概念

Maven是实际的项目开发过程应用非常广泛的构建工具,他通过提前编码实现工程构建的自动化,这其中包括工程的检查,编译,打包,部署等等的操作,减少很多人工操作,提高效率。他构建的模型可以如下图所示:

 接下来介绍几个关于Maven的基本概念:

1.项目(project):任何你想构建的东西都可以定义为一个项目,例如大到一个商城系统,小到一个OJ题目,都可以被Maven定义成项目,而在Maven中还有一个术语:工程对象模型(Project Object Model,POM)来描述。

2.POM:POM是Maven系统中的核心,在该pom.xml文件中可以定义我们对于该项目的操作,包括编译,测试,打包等等,同时还可以指定相关的插件,以及定义项目的依赖,是项目正确运行的指导文件。

3.GroupID:这个在Maven项目中也是必须出现的,一般来说通过这个来定义项目的名字,是全局唯一标识。不同的项目应该通过GroupID来进行区分,例如大名鼎鼎的Spring框架的GroupID就为org.springframework。

4.artifactID:这个是在项目中区别不同的构件的,一个项目可以存在很多个不同的构件,构件与构件的差异就是通过artifactID来进行区分,可以说GruopID是比较大的范围,而artifactID是被包含在GroupID中的。

5.dependency:依赖,一个项目经常需要依赖于其他组件,而Maven自带的依赖管理系统,可以方便开发人员去对依赖进行管理,而不同于手动添加依赖的方式,Maven只需要指明项目所需要的依赖,每次运行的过程中就会对环境进行检查,对缺少的组件进行加载,方便不同开发人员的协作

6.plugin:插件,Maven系统另一个典型的特点就是是由很多不同职责的插件所构成的,不同的插件行使不同的功能,插件与插件之间共同合作,完成对一个项目的生命周期的管理。

7.repository库:仓库,就是Maven系统中用于存放依赖的的地方,存在中央仓库,公共仓库,私有仓库,本地仓库四种不同的类型。每次Maven对于项目中所需要的依赖,都会从上面的仓库进行寻找,方便添加依赖。