簡體   English   中英

IntelliJ 目標字節碼恢復

[英]IntelliJ target bytecode reverting

對於我目前正在處理的項目,IntelliJ 給了我編譯錯誤Error:java: javacTask: source release 8 requires target release 1.8 我進入設置>構建,執行,部署>編譯器>Java,看到我的一個模塊的目標字節碼版本被設置為1.5,所以我將它更改為1.8,編譯,它工作了。 但是第二天,我得到了同樣的錯誤。 我進入了設置,那個模塊的目標字節碼又回到了 1.5。 我將其更改為 1.8,並且編譯/運行得很好。 這已經發生了多次,我對必須進入設置以手動更改目標字節碼版本的次數感到沮喪。

為什么目標字節碼版本不斷恢復? 我沒有在 pom 或其他任何地方指定 1.5,所以我很困惑為什么字節碼版本一直設置為 1.5。

您需要在 pom.xml 文件中指定源版本和目標版本,但由於默認情況下添加了maven-compiler-plugin ,因此更簡單的方法是設置以下屬性:

<properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
</properties>

您需要將此添加到您的 POM 中:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.3</version>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
    </plugins>
</build>

供參考。

盡管從@isapir 和@carlos-a-ibarra 分別提到的答案中使用上述兩個設置設置了pom.xml ,但我仍然遇到了這個問題。

我發現這是由於 Intellij 設置造成的:

Intellij Maven 設置的屏幕截圖

這個配置可以在 Build,Execution,Deployment > Build Tools > Maven > Importing 中找到

默認情況下,它被設置為“內部 JRE”設置,在最新版本的 Idea 中是 11。我不得不選擇它來使用項目配置使用的 1.8 JDK。

這很煩人,因為如果您混合使用 11 個和 8 個項目,則必須手動來回切換此設置。

它導致每次重新導入pom.xml時,模塊輸出總是回退到 11。

intellij idea 項目模塊設置

這是 IntelliJ 中一個非常煩人的錯誤。

請嘗試以下選項,它對我有用。

步驟01:更改模塊和項目下的版本。 步驟02:構建模塊。

希望它應該解決問題。

在此處輸入圖片說明

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM