31

Maven 冷知识:java.version

 5 years ago
source link: https://mp.weixin.qq.com/s?__biz=MzI5MTQ5NDY1MA%3D%3D&%3Bmid=2247485997&%3Bidx=1&%3Bsn=24f1f0ec927dd5b12680f6522b47a123&%3Bchksm=ec0e85b8db790cae59a8c2ab19e9bd4184e913c94b64c54a287445a4af8597407622e5a
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

欢迎点击「算法与编程之美」↑关注我们!

本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。

问题描述

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

A7z2A37.png!web

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

问题分析

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

【Maven冷知识】Compiler插件 上一篇文章,已经了解maven的官方告诉我们其默认的java版本为1.6,因此提供了两种方式来修改版本,分别是:

F3UFrmz.jpg!web

zamiaeQ.jpg!web

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

解决方案

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

uAFbQzB.jpg!web

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

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

AbuQbm2.jpg!web

这是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 团队

微信号:算法与编程之美

feyEJbj.jpg!web

长按识别二维码关注我们!

温馨提示: 点击页面右下角 “写留言” 发表评论,期待您的参与!期待您的转发!


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK