【Maven冷知识】java.version

简介: 【Maven冷知识】java.version

问题描述

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的神秘面纱,欢迎持续关注微信公众号“算法于编程之美”。

目录
相关文章
|
10天前
|
Java 持续交付 项目管理
使用Maven进行项目管理:提高Java Web开发的效率
Maven 是一款强大的项目管理和构建自动化工具,广泛应用于Java社区。它通过依赖管理、构建生命周期管理、插件机制和多模块项目支持等功能,简化了项目的构建过程,提高了开发效率。本文将介绍Maven的核心功能及其在Java Web开发中的应用。
26 0
|
6月前
|
Java Maven
Maven 构建 Java 项目
使用 Maven 的 archetype:generate 命令创建 Java 项目,如 `mvn archetype:generate` -DgroupId=com.companyname.bank -DartifactId=consumerBanking -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false,在 C:\MVN 下生成基于 maven 的 consumerBanking 项目。
|
3月前
|
Java 持续交付 项目管理
Maven是一款基于Apache许可的项目管理和构建自动化工具,在Java开发中极为流行。
Maven是一款基于Apache许可的项目管理和构建自动化工具,在Java开发中极为流行。它采用项目对象模型(POM)来描述项目,简化构建流程。Maven提供依赖管理、标准构建生命周期、插件扩展等功能,支持多模块项目及版本控制。在Java Web开发中,Maven能够自动生成项目结构、管理依赖、自动化构建流程并运行多种插件任务,如代码质量检查和单元测试。遵循Maven的最佳实践,结合持续集成工具,可以显著提升开发效率和项目质量。
52 1
|
4月前
|
存储 Java Maven
Maven依赖全爆红,一刷新就JAVA_HOME environment variable is not defined correctlyThis environment variable is
Maven依赖全爆红,一刷新就JAVA_HOME environment variable is not defined correctlyThis environment variable is
|
4月前
|
IDE Java Apache
如何使用Maven管理Java项目依赖
如何使用Maven管理Java项目依赖
|
4月前
|
Java 编译器 项目管理
如何在Java中使用Maven进行项目管理
如何在Java中使用Maven进行项目管理
|
4月前
|
Java Maven 编译器
Java编译器注解运行和自动生成代码问题之Maven编译时设置生成的源码的文件夹路径问题如何解决
Java编译器注解运行和自动生成代码问题之Maven编译时设置生成的源码的文件夹路径问题如何解决
|
5月前
|
Java 项目管理 Maven
Java一分钟之-Maven profiles与dependencyManagement
【6月更文挑战第5天】本文探讨了Maven的profiles和dependencyManagement特性在Java项目管理中的应用,包括基本概念和常见问题。Profiles用于根据不同环境激活配置,易错点在于忘记激活,应通过命令行或设置默认profile来避免。dependencyManagement集中管理依赖版本,过度依赖会导致子模块灵活性降低,应合理使用。结合两者,可在不同环境中控制依赖版本,提高项目配置效率。
122 8
|
5月前
|
Java Maven 开发者
java一分钟之-Maven Archetypes:项目模板
【6月更文挑战第6天】Maven Archetypes是Java开发中用于快速创建项目模板的工具,简化项目初始化。它们定义了项目结构、必备文件和默认配置。使用Archetypes能实现快速启动、保持项目一致性并易于扩展。常见问题包括查找和使用Archetype、理解项目结构及pom.xml配置。通过命令行工具`mvn archetype:generate`可生成项目,例如使用`maven-archetype-quickstart`创建简单Java应用。熟悉Archetypes能提升开发效率,但也需根据实际需求调整生成的配置。
373 5
|
5月前
|
Java Maven
Maven 构建 Java 项目
使用 Maven 的 `maven-archetype-quickstart` 插件在 C:\MVN 下创建 Java 应用项目。命令行参数包括 `-DgroupId`, `-DartifactId`, `-DarchetypeArtifactId` 和 `-DinteractiveMode=false`。生成的项目包含 src 文件夹、pom.xml 及对应的 Java 源码和测试文件。App.java 是主类,AppTest.java 为测试类。按照预设结构组织代码,Maven 将自动管理构建过程。

推荐镜像

更多