- Spring Boot趣味实战课
- 刘水镜
- 755字
- 2022-08-16 19:35:29
2.2 大管家Maven
本书选择Maven作为Jar包管理及构建工具。原因很简单,它拥有领先的市场份额。图2-1展示了来自《2020 JVM生态报告》的数据。
图2-1 构建工具市场份额
2.2.1 pom文件
POM(Project Object Model,项目对象模型)是我们使用Maven的核心。pom文件使用XML语言编写,定义了项目的基本信息,用于描述项目如何构建,声明项目依赖等。
pom文件示例:
以上是一个pom文件示例,接下来我们一起学习几个常用的概念。
2.2.2 常用概念
坐标
坐标是Maven中非常重要的概念。我们在初中数学里就已经学习过这个概念,例如:(0,7)代表Y轴上距离原点7个单位的一个点。而我们在地理课里也学习过由经/纬度组成的坐标,例如:(东经116°23'51",北纬39°54'31")是天安门的坐标。那么Maven中的坐标是什么样子的呢?Maven中的坐标由以下3部分构成:
· groupId
· artifactId
· version
groupId代表组信息,通常是公司或者组织;artifactId是项目在组内的唯一标识;version就很简单了,代表项目的版本。我们通过一个具体示例来进一步理解:
上面这个坐标代表Spring的Web模块,其版本为5.2.10.RELEASE。
在Java中,可以说“万物皆对象”,而在Maven中,则可以说“万物皆坐标”。一切Jar包或pom文件都可以用一个唯一的坐标来标识。
依赖
我们可以通过坐标来声明一个Jar包或pom文件(War包不能被引用,这里不讨论),还可以通过坐标来引用其他的Jar包或pom文件。依赖管理是Maven最重要的功能之一,项目依赖的所有Jar都需要通过如下格式放到<dependencies>标签下:
继承
Maven中的继承和Java中的继承类似,都通过<parent>标签来标明继承关系。继承后,子工程会将父工程的相关特性应用到子工程中。例如:
构建
构建(Build),也就是我们所说的编译打包的过程,是Maven另外一个重要的功能,用于将我们的工程打成Jar包或War包。
Maven是通过集成插件的方式来实现构建功能的,可以根据不同的构建需求选择不同的插件。在Spring Boot项目中,默认使用spring-boot-maven-plugin插件进行构建,因为Spring Boot需要将工程打包成可执行的Jar文件,所以需要使用自己定制的构建插件。例如: