日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

本文介紹了如何在Spring/Spring Boot pom.xml中指定Java版本?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

將Java 11指定為在Spring(或Spring Boot)pom.xml文件中使用的版本的正確方式是什么?

即,我需要在pom的java.version屬性中輸入什么值?

對于Java 8,我們使用1.8,就像the documentation shows一樣,對于Java 9,它是1.9

我不確定Java 11是否會是1.11(盡管它似乎不太可能),我看到它在使用maven-compiler-plugin時只是指定為11,但我沒有使用編譯器插件。

例如

<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值有什么作用,因為我可以將其設置為例如100,一切正常。

我能找到的唯一相關問題是:Minimum Spring version compatible with Java 11、Spring Boot fails due to a Hibernate error after migrating to JDK 11和Spring 4.3.x with OpenJDK 11,但它們并沒有真正揭示任何問題。

推薦答案

簡短回答:

正確的方法是對不同的Java版本使用<java.version>中的下列值:

Java 8:1.8或8
Java 9:9
Java 10:10
Java 11:11
Java 12:12
…..
…..
Java 16:16
Java 17:17

因此,對于Java 11,應該是:

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

然而,我不確定Java 11是否會是1.11&q;(似乎不太可能),以及
我看到它在使用maven-編譯器-plugin時被指定為11&q;
但是,我沒有使用編譯器插件。

實際上,它最后仍然使用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 Boot項目都會對父POMspring-boot-starter-parentdefines<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>

docs、maven.compiler.sourcemaven.compiler.target<source><target>配置參數的user property。由于用戶屬性的行為,將這兩個屬性設置為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-plugindocs中,<source><target>是Java編譯器(javac)的-source-target參數。然后,從javac文檔中,我們可以看到這兩個參數被允許具有以下值:

1.6:Java SE 6中沒有引入任何語言更改。但是,源文件中的編碼錯誤現在報告為錯誤,而不是
警告與早期版本的Java Platform標準版相同。
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 11,<java.version>應設置為11

這篇關于如何在Spring/Spring Boot pom.xml中指定Java版本?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,

分享到:
標簽:Boot pom Spring xml 如何在 指定 版本
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定