前言
Maven是一个标准化的java项目管理和构建工具,其关键在于pom.xml文件内容。pom.xml中需要指定项目依赖,Maven会自动下载依赖的包并缓存到本地。对SpringBoot项目来说,其依赖关系大同小异,接下来将以Wi-Blog项目对每个包及其作用进行解析。
Parent
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.7.5</version>
<relativePath/>
</parent>
<parent> 元素,它用于指定项目的父级项目。父级项目通常是一个公共的 Maven 项目,它定义了一些共享的配置和依赖项,供子项目继承和重用
具体来说,当你将 spring-boot-starter-parent 作为父级项目时,它会自动为你的项目提供以下功能:
- 默认的 Maven 配置:spring-boot-starter-parent 定义了一些默认的 Maven 配置,例如编译、测试、打包等配置。这样你就不需要在子项目中重复定义这些配置,而是直接继承父级项目的配置。
- 默认的 Spring Boot 版本:spring-boot-starter-parent 指定了一个默认的 Spring Boot 版本。这意味着你可以在子项目的依赖项中使用 Spring Boot 相关的库和插件,而不需要显式指定版本号。子项目会继承父级项目的版本号,并与之保持一致。
- 默认的依赖项管理:spring-boot-starter-parent 会管理一些常用的 Spring Boot 相关依赖项的版本。这样,你可以在子项目的 dependencies 部分引入这些依赖项,而不需要显式指定版本号。
- 通过使用 spring-boot-starter-parent 作为父级项目,你可以获得这些默认配置和依赖项管理的好处,并且可以更轻松地构建和管理基于 Spring Boot 的应用程序。
<relativePath/> 是一个用于 Maven 项目中 元素的可选子元素。
当你在 Maven 项目中使用 元素来引用一个父项目时,可以通过 元素来指定父项目相对于当前项目的路径。默认情况下,Maven 会在本地的仓库中查找父项目的坐标信息,并下载相应的父项目。但是,如果你在本地的项目结构中已经包含了父项目,你可以使用 元素来告诉 Maven 父项目的相对路径,以便 Maven 在本地项目中查找父项目,而不是去下载。
Properties
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8