欢迎点击「算法与编程之美」↑关注我们!
问题描述
Java的企业级项目开发中,Spring基本实现了一统天下,而且SpringBoot的出现更是将入门的难度降至接近零门槛。很多情况下,借助Maven神器,零基础的同学可以快速的实现搭建基于SpringBoot的项目。
在编写pom配置文件的时候,往往都会加上java.version=1.8这样的属性配置, 为什么要这样做?不加会产生什么影响。
问题分析
java.version=1.8这行配置信息的意思非常明显,就是告诉Maven的编译器,其java的版本为8.但是以上只是我们的推测,并没有找到相关的依据。
【Maven冷知识】Compiler插件 上一篇文章,已经了解maven的官方告诉我们其默认的java版本为1.6,因此提供了两种方式来修改版本,分别是:
和
这两种方式都可以实现, 但是可以看出官方并没有提出java.version这样的配置信息来修改,那大家平时经常使用的java.version出自何处呢?是不是会起作用呢?
解决方案
在pom文件中,还有一处配置信息,引起了我们的注意,那就是:
根据Maven的parent知识,了解到当前用户自定义的开发项目的配置都会继承于spring-boot-starter-parent的pom文件,因此非常有必要了解该文件,看是否能够找到线索。
打开该文件,找到了让我们非常惊喜的一幕:
这是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版本,因此完全没有必要加上这行配置。
后续我们将持续为大家揭开Maven的面纱,揭开SpringBoot的神秘面纱,欢迎持续关注微信公众号“算法于编程之美”。
更多精彩文章:
聊一聊编程的本质
什么是机器学习
关于网页首页设计的一点思考
新手小白应该如何学习MUI
聊一聊where2go团队做什么
聊一聊编程的本质
深入理解浏览器内核 - 概述
深入理解浏览器内核 - 浏览器内核介绍
深入理解浏览器内核 - 浏览器内核依赖关系
python快速求解不定积分和定积分
AI告诉你张无忌最爱的竟是...
Jupyter快速编辑高大上数学公式 泰勒展开式
Jupyter快速编辑高大上数学公式 常见希腊字母
基本初等函数 指数函数
基本初等函数 指数函数 代码篇
聊一聊JavaWeb面试
聊一聊单片机和服务器
50行代码实现简单的网站服务器
50行代码实现网站服务器 2
50行代码实现网站服务器 3
Tomcat源码分析之 doGet方法(一)
Tomcat源码分析之 doGet方法(二)
Tomcat源码分析之 doGet方法(三)
Tomcat源码分析之 doGet方法(四)
Tomcat源码分析之中文乱码(一)
一种基于状态机的 DOM 树生成技术(1)
一种基于状态机的 DOM 树生成技术(2)
where2go 团队
微信号:算法与编程之美
长按识别二维码关注我们!
温馨提示: 点击页面右下角 “写留言” 发表评论,期待您的参与!期待您的转发!