当前位置: 首页 > 知识库问答 >
问题:

IntelliJ在Java11 SpringBoot项目上设置了错误的语言级别[重复]

丰飞龙
2023-03-14

我正在用Java11开发一个使用Maven构建的SpringBoot应用程序。

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

关于SO的其他答案(例如,idea:javac:source release1.7需要target release1.7)告诉我为maven-build-plugin设置“release”(或source/target)属性,但这与spring-boot-maven-plugin不兼容(即导致依赖关系等问题)。

我如何使IntelliJ自动识别并将Java语言级别设置为11,而不必在每次pom.xml重新导入后手动更改它呢?

共有1个答案

公孙胡媚
2023-03-14

默认情况下,IntelliJ(从2020.3开始)假设Java语言级别为8(如果没有另外指定的话)。

spring-boot-maven-plugin尊重

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

相应地设置和调整maven-compiler-plugin属性(release,source,target),IntelliJ在设置项目的Java语言级别时尊重这些属性。

只需将该属性添加到pom.xml并重新加载项目(不是refresh,这对我不起作用)。

另请参见如何在Spring/Spring Boot pom.xml中指定Java11版本?更详细的解释这是如何在幕后工作的。

 类似资料:
  • 我使用的是IntelliJ14,而我的机器已经安装了JDK7。然而,每次创建新的项目,语言水平是5。 虽然我可以通过转到项目设置->项目->项目语言级别和项目设置->模块->[模块名称]->源->语言级别来进行更改,但是对于每个项目都需要时间来做那件事。 IntelliJ是否可以自动检测我的JDK并选择正确的默认语言级别,或者有一个默认的语言级别设置?

  • 我在IntelliJ中有一个简单Maven Java项目。我在我的项目中使用Java8,我将语言级别设置为8。为什么maven reimport将语言级别设置回5?如何避免呢?

  • 信息:java:编译模块'jactor-commons'时发生错误信息:Javac 10.0.1用于编译java源代码信息:29/10/2018,21:31-编译完成,4 s 777毫秒内有1个错误和0个警告错误:java:不支持版本5

  • 问题内容: 我正在使用Java 7 SDK和IntelliJ IDEA IDE。 我仍然无法使用Java 7功能。经过一番谷歌搜索之后,我可以在将项目语言级别设置为之后使用所有功能。这到底是什么?如果这与使用的基于JDK的语法有某种关系,那是什么?Java 8尚未发布。根据Wiki,Java 8预计将于2014年3月发布。有人请解释此语言级别的概念。 问题答案: 该设置设定为特色的代码帮助编辑器应

  • 我有一个分级项目。sourceCompatibility和targetCompatibility设置为15。Gradle JDK设置为Java15,而project setting java设置为JDK15和language level 13。但当我重新导入项目或更改任何Steegins时。Java版本和语言级别被重置为JDK11和级别6。我试着删除gradle和。gradle和Reporting