在Maven中设置Java版本
最后修改:2021年2月12日
1.概述
在这个快速的教程中,我们将展示如何在Maven中设置Java版本。
在继续前进之前,我们可以检查maven的默认jdk版本。跑mvn -v.命令将显示Maven运行的Java版本。
进一步阅读:
2.使用编译器插件
我们可以指定所需的Java版本编译器插件。
2.1。编译器插件
第一个选项是在Compiler插件属性中设置版本:
1.8 1.8 properties>
maven编译器接受此命令 -目标和 -来源版本。如果我们想使用Java 8语言功能, -来源应该设置为1.8。
此外,对于编译的类与JVM 1.8兼容 - -目标价值应该是1.8。
它们两个的默认值是1.6版本。
或者,我们可以直接配置编译器插件:
<插件> <插件> Maven-Compiler-Plugin ARTIFACTID> 1.8 source> 1.8 target> configuration> plugin> plugins>
这Maven-Compiler-Plugin还具有额外的配置属性,允许我们对汇编过程进行更多控制-来源和-目标版本。
2.2。Java 9及其超越
此外,从JDK 9开始,我们可以使用新的-释放命令行选项。这个新参数将自动配置编译器,以生成与给定平台版本的实现相链接的类文件。
默认情况下,-来源和-目标选项不保证交叉编译。
这意味着我们无法在旧版本的平台上运行我们的应用程序。此外,要编译和运行旧的Java版本的程序,我们还需要指定-bootclasspath.选项。
正确地编译,新的-释放选项替换三个标志:-来源,—target和bootclasspath。
在转换完我们的例子之后,我们可以为插件属性声明以下内容:
7 properties>
而对于Maven-Compiler-Plugin从3.6版本开始,这就是我们可以写的:
<插件> < groupId > org.apache.maven。 maven-compiler-plugin 3.8.0 7 configure >
请注意,我们可以在一个新的java版本添加<释放>属性。在此示例中,我们将我们的应用程序编译为Java 7。
更重要的是,我们的机器不需要安装JDK 7。Java 9已包含用于将新语言功能与JDK 7链接的所有信息。
3.春天启动规范
Spring Boot应用程序指定内部的JDK版本属性标签in.pom.xml.文件。
首先,我们需要添加春天启动 - 起动器 - 父母作为我们项目的父母:
<父> org.springframework.boot groupID> Spring-Boot-Starter-Parent Artifactid> 父>
这个父POM允许我们配置默认的插件和多个属性,包括Java版本——默认情况下,Java版本是1.8。
但是,我们可以通过指定来覆盖父级的默认版本java.version.属性:
<属性> 1.9 属性>
通过设置java.version.属性,我们声明源和目标Java版本都等于1.9。
最重要的是,我们应该记住,此属性是春季启动规范。此外,从Spring Boot 2.0开始,Java 8是最小版本。
这意味着我们无法为较旧的JDK版本使用或配置Spring Boot。
4。结论
此快速教程展示了在Maven项目中设置Java版本的可能方法。
以下是主外带的摘要:
- 使用
只能使用Spring Boot应用程序。 - 对于简单的案例,maven.compiler.source.和maven.compiler.target.属性应该是最合适的。
- 最后,要更好地控制编译过程,请使用Maven-Compiler-Plugin配置设置。