对于parent通俗的讲,SpringBoot使用的相关jar包所依赖的版本号都在parent中定义,当让也并非仅限于如此。
基本功能
当我们创建SpringBoot项目时,可以继承自一个spring-boot-starter-parent,也可以不继承自他。我们先来看看parent的基本功能有哪些?
1、定义了java编译版本为1.8
2、使用UTF-8的格式
3、继承自spring-boot-dependencies,这里面定义了依赖的版本,正式因为这里面定义 了依赖的版本,所以我们在写依赖时才不用写版本号
4、执行打包操作的配置
5、自动化资源过滤
6、自动化的插件配置
7、针对application.properties和application.yml的资源过滤,包括profile定义的不同环境的配置文件,例如application-dev(pro).properies和application-dev(pro).yml
我们可以看到,他继承自 spring-boot-dependencies,另外还可以看到jdk版本,编码格式,过滤信息等。下面我们再来看看spring-boot-dependencies中的定义
这里我们可以看到真对版本的定义和dependencyManagement节点,这下明白SpringBoot项目中部分依赖不需要写版本号了吧。
不用parent
在我们日常开发中并非所有的公司都需要这个parent,有的时候公司会自己定义parent,我们的SpringBoot项目要继承公司自己定义的parent,这个时候我们改如何办呢?
一个简单的办法就是我们自己定义一个dependencyManagement节点,然后在里面自己定义好版本,在接下来的引用依赖时就不用写版本号了。
这样写过之后,依赖的版本号是解决了,但是关于打包的插件,jdk版本,编码格式等这些配置,在没有parent的时候这些都需要自己区配置