3-Maven凭什么管理我们的项目

 Maven是一款管理项目工程的工具。

 对于maven来说,它通过一个工程的 组编号(groupId)、 构件编号(artifactId)、 版本信息(version) 来识别工程的,然后对工程进行管理,工程是maven操作的核心。

 每个工程都有一个打包类型, 可以是jar, war, ear 或 pom,根据不同的项目来选择不同的打包类型,因为打包类型决定了工程最终产物的类型,例如java文件为jar包,web文件为war, 其中pom类型用于构件多模块工程。

 每个工程之间也不是相互独立的,它们之间有着依赖和聚合继承的关系。

1.1 工程依赖关系

 依赖关系的管理是maven最精髓的地方。 一个工程可以依赖多个其他工程, 通过工程的唯一标识(groupId+artifactId+version)可以明确指明依赖的库及版本,而且能够处理依赖关系的传递。

 例如在管理一个MySQL数据库项目时,我们需要给其添加数据库驱动,在jdbc操作数据库时,数据库驱动是一个jar包,而在maven里,这个驱动也是一个项目,所以说它俩相互依赖。

 maven还可以指定依赖关系的作用范围(使用scope在pom文件中指定),作用范围如下:

maven作用范围

 maven通过依赖关系管理,可以解决如下问题:

  • 工程依赖的版本管理。
  • 工程依赖中同一个工程的多版本依赖的冲突问题。
  • 提供了标准的依赖关系定义。

1.2 工程聚合与继承

  • 聚合:

 上文提到的pom类型的工程用于构建多模块的工程, 这体现了project之间的一种聚合关系: 将一系列小的模块聚合成整个产品。 通过聚合后的工程可以同时管理每个相关模块的构建、 清理、 文档等工作。

  • 继承:

 上文提到的pom类型的工程同样可以定义多模块的工程的配置信息, 其作为多模块的工程的父模块被多模块继承, 此时多模块就是该pom类型的工程的子工程, 子工程可以复用父工程的配置信息。

 maven正式通过工程与工程之间的关系以及大量以及成熟的库工程进行项目的管理的。

猜你喜欢

转载自blog.csdn.net/weixin_40739833/article/details/80919775