@https://blog.csdn.net/niceyoo/article/details/91852502 转载
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.4.RELEASE</version>
<relativePath/>
</parent>
Spring Boot 的父级依赖,这样当前的项目就是 Spring Boot 项目了。spring-boot-starter-parent 是一个特殊的 starter,它用来提供相关的 Maven 默认依赖。
使用它之后,常用的包依赖可以省去 version 标签,当我们搭建web应用的时候,可以像下面这样添加spring-boot-starter-web依赖:
<!-- Quartz定时任务 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-quartz</artifactId>
</dependency>
spring-boot-starter-parent 是 maven 独有的,如下是提供的一些特性:
- 默认使用Java8,可添加以下配置修改版本:
<properties>
<java.version>1.8</java.version>
</properties>
- 默认使用UTF-8编码,可添加以下配置修改编码:
<properties>
<project.build.sourceEncoding>GBK</project.build.sourceEncoding>
</properties>
- 省略version信息
在 dependencies 里的部分配置可以不用填写 version 信息,这些 version 信息会从 spring-boot-dependencies 里得到继承
<!-- JPA -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
<version>2.1.8</version>
</dependency>
使用 spring-boot-starter-parent 的话,可以这样,继承默认版本:
<!-- JPA -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
- 识别过来资源过滤
例如,打包的时候把 src/main/resources 下所有文件都打包到包中。
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.*</include>
</includes>
<filtering>true</filtering>
</resource>
- 识别插件的配置
比如 exec plugin, surefire, Git commit ID, shade
能够识别 application.properties 和 application.yml 类型的文件,同时也能支持 profile-specific 类型的文件(如: application-foo.properties and application-foo.yml,这个功能可以更好的配置不同生产环境下的配置文件)。
我们可以通过覆盖 properties 标签的 property 标签来达到修改依赖版本号的目的,例如上方的修改默认的编码方式、以及默认jdk版本:
<properties>
<java.version>1.8</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>