maven的spring-boot-starter-parent的作用
maven的spring-boot-starter-parent的作用?
答:
spring-boot-starter-parent是一个特殊的starter,它用来提供相关的Maven默认依赖。使用它之后,常用的包依赖可以省去version标签。
Maven的用户可以通过继承spring-boot-starter-parent项目来获得一些合理的默认配置。这个parent提供了以下特性:
1.默认使用Java8,可添加以下配置修改版本:
<properties>
<java.version>1.8</java.version>
</properties>
2.使用UTF-8编码,可添加以下配置修改编码:
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
3.一个引用管理的功能,在dependencies里的部分配置可以不用填写version信息,这些version信息会从spring-boot-dependencies里得到继承。
正常来说项目应该添加了以下带版本的依赖:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.35</version>
</dependency>
但是使用spring-boot-starter-parent的话,可以这样,继承默认版本:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
</dependency>
4.识别过来资源过滤
例如,打包的时候把src/main/resources下所有文件都打包到包中。
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.*</include>
</includes>
<filtering>true</filtering>
</resource>
5.识别插件的配置
比如exec plugin, surefire, Git commit ID, shade
能够识别application.properties和application.yml类型的文件,同时也能支持profile-specific类型的文件(如: application-foo.properties and application-foo.yml,这个功能可以更好的配置不同生产环境下的配置文件)。