程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何在Spring / Spring Boot pom.xml中指定Java 11版本?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

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

开发过程中遇到如何在Spring / Spring Boot pom.xml中指定Java 11版本?的问题如何解决?下面主要结合日常开发的经验,给出你关于如何在Spring / Spring Boot pom.xml中指定Java 11版本?的解决方法建议,希望对你解决如何在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>

实际上,最后它仍然用于@H_909_4@maven-compiler- plugin编译。Springboot只是配置了一个<java.version>属性,这样通过更改此值,您就隐式地将更改为@H_909_4@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的编译器插件的文档,@H_909_4@maven.compiler.source并且@H_909_4@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>

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

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

解决方法

将Java 11指定为要在Spring(或Spring Boot)pom.xml文件中使用的版本的正确方法是什么?

即,我需要java.version在pom 的属性中添加什么值?

1.8正如文档所示,对于Java
8,我们使用的是Java 9 1.9

我不确定Java 11是否会1.11(尽管似乎不太可能),而且我已经看到它只是11在使用时指定的@H_909_4@maven-compiler- plugin,但是我没有使用编译器插件。

例如

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

我到处搜索,找不到答案,因为我阅读的几乎所有文档以及与Java版本有关的博客文章仅显示版本8或版本9。

那我该怎么用呢?1.11还是只是11

我尝试了两者,但是我的Web服务器似乎可以正确启动并正确编译(IntelliJ显示Information:javac 11.0.2 was used to compile java sources),但是我并不完全相信更改java.version值可以完成任何事情,因为我可以将其设置为eg
100并且一切正常。

大佬总结

以上是大佬教程为你收集整理的如何在Spring / Spring Boot pom.xml中指定Java 11版本?全部内容,希望文章能够帮你解决如何在Spring / Spring Boot pom.xml中指定Java 11版本?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。