错误:Java:无效的目标版本:11-IntelliJ IDEA

AMa*_*gic 21 java intellij-idea java-11

我正在尝试构建使用Java 8构建的应用程序,现在已升级到Java11。我在Windows计算机中使用oracle文章安装了Java 11,并使用IntelliJ IDEA 2017作为IDE。

我更改了系统环境变量并设置了

JAVA_HOME to C:\Program Files\Java\jdk-11.0.1
Run Code Online (Sandbox Code Playgroud)

并将其添加到Path变量中。

C:\>java -version
java version "11.0.1" 2018-10-16 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.1+13-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.1+13-LTS, mixed mode) 
Run Code Online (Sandbox Code Playgroud)

当我在IntelliJ中构建应用程序时,这是我得到的:

Information:java: Errors occurred while compiling module 'test-domain_main'
Information: javac 1.8.0_171 was used to compile java sources
Information:1/10/2019 4:21 PM - Compilation completed with 1 error and 0 warnings in 1s 199ms
Error:java: invalid target release: 11
Run Code Online (Sandbox Code Playgroud)

到目前为止,这是我尝试过的:

  1. 我将.idea/compiler.xml目标值从8 更改为11,但这无济于事。同样,验证Target bytecode versionin settings > Build, Execution, Deployment > Compiler > Java Compiler和我所有的模块都设置为11。

  2. 进入file > Project Structure > SDKs *(currently I have 1.7 and 1.7 listed)* > Add new SDK > JDK > 之后,我选择C:\Program Files\Java\jdk-11.0.1了“但是所选目录不是JDK的有效主目录”,但出现错误

我不确定是否安装了错误的JDK 11,因为在我的中C:\Program Files\Java\,我看到的是单独的JDK和JRE文件夹1.71.8而只有JDK文件夹为11.0.1

还是我需要更改的其他内容?

Kee*_*i S 38

如果通过构建系统(Maven、Gradle 等)构建项目但 IntelliJ 显示Invalid target release错误,则执行以下操作,

  1. 关闭 IntelliJ

  2. 进入项目目录

  3. 删除 .idea/ 目录

  4. 使用项目目录启动 IntelliJ

这将重新创建 .idea/ 目录并且不再显示错误。

注意:当 .idea/ 目录被删除时,您添加的任何特定于存储库的 IntelliJ 设置都将被删除,并且它们将使用默认值重新创建。

  • 删除`./idea`文件夹是不是有点太严厉了?您的所有设置都将消失。 (2认同)

Pao*_*olo 33

我遇到了Grigoriy Yuschenko所说的相同问题。相同的Intellij 2018 3.3

我可以通过设置来启动我的项目(如Grigoriy所述)

文件->项目结构->模块->>语言级别为8(我的maven项目设置为1.8 java)

文件->设置->构建,执行,部署->编译器-> Java编译器-> 8

我希望它会有用

  • 对于找不到的人。`File -> Settings` 我在 `IntelliJ IDEA -> Preferences... -> Build, Execution, Deployment -> Compiler -> Java Compiler` 中找到了它 (6认同)
  • 这是其他类似/可能必要的解决方案,在 /sf/answers/1820673921/ 上有更详细的描述(带有屏幕截图) (2认同)
  • 正是我所需要的。谢谢! (2认同)

小智 32

以下更改对我有用,希望对您也有用。

  1. 在 pom.xml 文件<java.version>1.8</java.version> 中将Java 的版本从 11 更改为 8

  2. 转到,文件 -> 设置 -> 构建、执行、部署 -> 编译器 -> Java 编译器
    在这里,在模块列中,您可以看到您的项目列出,在目标字节码版本列中,项目的 Java 版本已经指定(大部分为 11 ),改为8

  3. 转到,文件 -> 项目结构 -> 模块。在这里,在Source选项卡中,您可以看到Language level选项,选择8 - Lambdas,键入 annotations 等。最后,选择 Apply 和 OK,你就可以开始了。

  • 只有#1对我有用..尝试了很多解决方案,但这有效 (2认同)

Pie*_*ber 17

在较新版本的 Intellij 中,检查 jdk 11 是否已正确配置:

  1. 然后右键单击您的项目Open Module Settings。检查下面列出的设置:
    • SDKs (Under Platform Settings) > Add the jdk 11 you want located on your computer
    • Modules (Under Project Settings) > Set language level to jdk 11 for sources and dependencies
    • Project (Under Project Settings) > Select jdk 11 as Project SDK在此输入图像描述 在此输入图像描述 在此输入图像描述
  2. 然后File > Settings > Java Compiler。检查以下设置:
    • 使用编译器:Javac
    • 项目字节码版本:11
    • 每个模块的字节码版本:所有模块的目标字节码版本必须设置为11. 在此输入图像描述


小智 13

2021 年 1 月 6 日

这对我有用。

转到 File -> Project Structure 并选择窗口右侧面板上的“Dependencies”选项卡。然后使用这样的下拉菜单更改“模块 SDK”。然后应用更改。

图 1


小智 13

我的解决方案:

  1. 转到文件 > 设置 > 构建、执行、部署 > 构建工具 > Gradle
  2. 选择 Gradle JVM:[SDK 版本]
  3. 编译

在此输入图像描述


ame*_*ara 10

Maven 也有可能使用不同版本的 JDK,在这种情况下,您可以将 Maven 设置为使用项目默认的 JDK 版本。

在此处输入图片说明

  • 这是对我有用的,适用于 Gradle。通过将 Gradle JVM 切换到 Project SDK。 (3认同)

Cra*_*der 7

更新至IntelliJ IDEA 2018.x以获取Java 11支持。您的IntelliJ IDEA版本是在Java 11之前发布的,并且不支持该Java版本。

  • 即使是2020版本也存在同样的问题。所以这不是一个正确的答案或部分正确的答案。您必须从项目结构中更改 sdk 版本。 (43认同)
  • @Zafar 这是原始问题的正确答案,OP 已接受它。但导致此错误的原因可能有多种,无法用单一答案来涵盖。 (3认同)

小智 7

我最近面临同样的问题。运行我的项目主文件后,此错误显示在我的屏幕上。 Error:java: invalid source release: 11 按照步骤解决这个错误

  1. 文件->项目结构->项目
  2. 单击 Project SDK 下的 New 按钮:添加最新的 SDK,然后单击 OK。

在此处输入图片说明

运行后你会看到错误已解决..

在此处输入图片说明

在此处输入图片说明

你可以看到它的工作完美..如果你发现任何问题,请找我


Gry*_*ryu 6

  • 我今天收到了相同的信息消息和错误消息,但我最近更新了Idea-> 2018.3.3,该版本建于2019年1月9日。
  • 要解决此问题,我已将文件->项目结构->模块->>语言级别更改为10。然后检查文件->设置->构建,执行,部署->编译器-> Java编译器->>项目字节码版本和每个模块的字节码版本。我在那里有11个。
  • 现在,我没有收到这些通知和错误。

    这对于像我这样的人,具有最新的想法并遇到相同的错误可能很有用。

  • 即使 IntelliJ 日期早于 Java 发布日期,这也对我有用。文件 =&gt; 项目结构 =&gt; 项目 =&gt; 项目 SDK。在`New`下添加新下载的JDK,点击`Apply` =&gt; `OK`,项目随即开始编译。 (2认同)

小智 5

更新我的创意后出现了相同的错误,我按以下步骤解决了:

文件>>项目结构... >>项目

“项目语言级别:”设置为“ 11-lambda参数的本地变量语法”,因此我将其更改为“ SDK默认值(8-Lambdas,类型注释等)”,然后应用更改并解决了错误。


Maf*_*fei 5

如果您使用的是 Springboot 请检查 pom.xml 文件中的 java 版本

<properties>
   <java.version>11</java.version>
</properties>
Run Code Online (Sandbox Code Playgroud)

如果此版本与计算机的默认版本(Java)不匹配,则可能会发生该错误。