转载

Maven 冷知识:java.version

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

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

问题描述

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

Maven 冷知识:java.version

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

问题分析

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

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

Maven 冷知识:java.version

Maven 冷知识:java.version

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

解决方案

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

Maven 冷知识:java.version

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

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

Maven 冷知识:java.version

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

微信号:算法与编程之美

Maven 冷知识:java.version

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

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

原文  https://mp.weixin.qq.com/s?__biz=MzI5MTQ5NDY1MA==&mid=2247485997&idx=1&sn=24f1f0ec927dd5b12680f6522b47a123&chksm=ec0e85b8db790cae59a8c2ab19e9bd4184e913c94b64c54a287445a4af8597407622e5a27c34&scene=0&subscene=131&clicktime=1550505746&ascene=7&devicetype=android-27&version=27000338&nettype=WIFI&abtest_cookie=BQABAAoACwASABMAFAAFACOXHgBamR4Am5keAJ2ZHgDamR4AAAA=&lang=zh_CN&pass_ticket=QMEa21bUc1D1LFN2/w1MvDFRX5/O7lghYW96MWntHLPtrooktjAlEs8Qei31MFk3&wx_header=1
正文到此结束
Loading...