问题描述

Java的企业级项目开发中,Spring基本实现了一统天下,而且SpringBoot的出现更是将入门的难度降至接近零门槛。很多情况下,借助Maven神器,零基础的同学可以快速的实现搭建基于SpringBoot的项目。

640?wx_fmt=png

在编写pom配置文件的时候,往往都会加上java.version=1.8这样的属性配置,为什么要这样做?不加会产生什么影响。

问题分析

java.version=1.8这行配置信息的意思非常明显,就是告诉Maven的编译器,其java的版本为8.但是以上只是我们的推测,并没有找到相关的依据。

640?wx_fmt=png

640?wx_fmt=png

这两种方式都可以实现,但是可以看出官方并没有提出java.version这样的配置信息来修改,那大家平时经常使用的java.version出自何处呢?是不是会起作用呢?

方法

在pom文件中,还有一处配置信息,引起了我们的注意,那就是:

640?wx_fmt=png

根据Maven的parent知识,了解到当前用户自定义的开发项目的配置都会继承于spring-boot-starter-parent的pom文件,因此非常有必要了解该文件,看是否能够找到线索。

打开该文件,找到了让我们非常惊喜的一幕:

640?wx_fmt=png

这是2.0.5.RELEASE版本的pom文件,从上面可以看到其定义了一个java.version的属性,而且在下方定义了maven.compiler.source以及maven.compiler.target信息,正是使用了上一篇文章的第一种方式来定义了。至此所有的迷雾都已经揭开了,有没有一点顿悟的感觉。

结语

java.version是很多初学者在学习SpringBoot项目的时候,都会加上的一行配置信息,但是该配置并非Maven官方的配置,经过分析发现原来是SpringBoot官方做的,其本质是为了作用于Maven官方定义的maven.compile上的,另外由于其默认值就是1.8,如果你的项目本身要求的就是1.8版本,因此完全没有必要加上这行配置。
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐