SpringBoot的项目为什么需要指定parent
<groupId>org.example</groupId>
<artifactId>MySpringStudy</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
</properties>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.6.RELEASE</version>
<relativePath/>
</parent>
如上面所示,一般会指定一个parent,为什么呢?
指定的作用:
1. java版本
2. 编码格式
3. 默认的resource的路径
4. 打包的一些配置等
5. 默认的一些依赖版本号,可以在dependency里面引用一些依赖的时候不写版本号
6. 等等
具体可以打开parent的pom来看,parent本身还依赖于spring-boot-dependencies,在这个里面定义了很多库的版本
依赖版本的管理也可以使用dependencyManagement这个标签来配置,别的子模块引用即可
其实parent就是一些通用的东西,抽出来,不再重复配置,也方便管理,不指定也没啥问题,只不过有些通用的配置比较麻烦,而且有的公司会自己定义parent,指定版本,指定通用的配置,那就用公司自定义的就行