栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在Spring / Spring Boot pom.xml中指定Java 11版本?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在Spring / Spring Boot pom.xml中指定Java 11版本?

简短答案:

正确的方法是

<java.version>
对不同的Java版本使用以下值:

  • Java 8:1.8或8
  • Java 9:9
  • Java 10:10
  • Java 11:11
  • Java 12:12

因此,对于Java 11而言,应为:

<properties>   <java.version>11</java.version></properties>

但是,我不确定Java 11是否为“ 1.11”(似乎不太可能),并且在使用maven-compiler-plugin时,我已经将其指定为“
11”,但是我没有使用编译器插件。

实际上,最后它仍然用于

maven-compiler-plugin
编译。Springboot只是配置了一个
<java.version>
属性,这样通过更改此值,您就隐式地将更改为
maven-compiler-plugin
<source/>
并将
<target/>
其更改为与在
<java.version>
:中指定的值相同的值:

<plugin>    <groupId>org.apache.maven.plugins</groupId>    <artifactId>maven-compiler-plugin</artifactId>    <version>3.8.0</version>    <configuration>        <source>11</source>  <!-- same as <java.version> -->        <target>11</target>    <!-- same as <java.version> -->    </configuration></plugin>

详细答案:

好像您想要细节说服您。

这是因为每到spring启动项目将扩展父POM

spring-boot-starter-parent
其定义
<java.version>
如下:

<properties>    <java.version>1.8</java.version>    <maven.compiler.source>${java.version}</maven.compiler.source>    <maven.compiler.target>${java.version}</maven.compiler.target></properties>

从Maven的编译器插件的文档,

maven.compiler.source
并且
maven.compiler.target
是用户属性的
<source>
<target>
配置参数。由于用户属性的行为,将这两个属性设置为
11
意味着要设置以下内容:

<plugin>    <groupId>org.apache.maven.plugins</groupId>    <artifactId>maven-compiler-plugin</artifactId>    <version>3.8.0</version>    <configuration>        <source>11</source>   <!-- maven.compiler.source  -->        <target>11</target> <!-- maven.compiler.target -->    </configuration></plugin>

再次从

maven-compiler-plugin
文档中获取,
<source>
并且
<target>
是Java编译器()的
-source
and
-target
参数
javac
。然后,从javac文档中,我们可以看到这两个参数允许具有以下值:

  • 1.6:Java SE 6中未引入语言更改。但是,现在将源文件中的编码错误报告为错误,而不是像Java平台标准版早期版本中那样的警告。
  • 6:1.6的同义词。
  • 1.7:编译器接受具有Java SE 7中引入的功能的代码。
  • 7:1.7的同义词。
  • 1.8:编译器接受具有Java SE 8中引入的功能的代码。
  • 8:1.8的同义词。
  • 9:编译器接受具有Java SE 9中引入的功能的代码。
  • 10:编译器接受具有Java SE 10中引入的功能的代码。
  • 11:编译器接受具有Java SE 11中引入的功能的代码。
  • 12:编译器接受具有Java SE 12中引入的功能的代码。

因此,

<java.version>
应将其设置
11
为Java 11。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/660323.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号