错误:Java:无效的目标版本:11-Intellij Idea

时间:2019-01-10 21:39:00

标签: java intellij-idea java-11

我正在尝试构建使用Java 8构建的应用程序,现在它已升级到Java11。我在我的 windows计算机中使用Java 11安装了an oracle article使用 Intellij Idea 2017 作为我的IDE。

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

JAVA_HOME to C:\Program Files\Java\jdk-11.0.1

并将其添加到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) 

当我在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

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

  1. 我将.idea/compiler.xml的目标值从8更改为11,但这无济于事。另外,请验证Target bytecode version中的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\中,我分别看到1.71.8的jdk和jre文件夹,而{{ 1}}

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

26 个答案:

答案 0 :(得分:11)

2021 年 1 月 6 日

这对我有用。

转到文件 -> 项目结构并选择窗口右侧面板上的“依赖项”选项卡。然后使用这样的下拉菜单更改“模块 SDK”。然后应用更改。

image 1

答案 1 :(得分:7)

下面的更改对我有用,希望同样对您有用。

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

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

  3. 转到,文件->项目结构->模块。在这里,在标签中,您可以看到语言级别选项,选择 8-Lambda,输入注释等。。最后,选择“应用”,然后单击“确定”,一切顺利。

答案 2 :(得分:5)

我遇到了与格里高里·尤申科(Grigoriy Yuschenko)所说的相同的问题。 相同的Intellij 2018 3.3

我能够通过设置来启动我的项目(如格里高里所说)

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

AND

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

我希望它会有用

答案 3 :(得分:5)

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

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

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

答案 4 :(得分:4)

我遇到了这个问题,因为我当前正在将代码库升级到JDK 11,并且在分支中的8和11之间切换。看来IntelliJ不喜欢这样。

解决方案:

如果您在项目结构(Ctrl+Shift+Alt+S中选择了当前的JDK并仍然收到错误,请使缓存File > Invalidate Caches / Restart...无效。

重新启动IDE后,我的错误消失了。

答案 5 :(得分:3)

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

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

答案 6 :(得分:3)

我最近遇到了同样的问题。 运行项目主文件后,此错误显示在我的屏幕上。 错误:java:无效的源发行版:11 请按照以下步骤解决此错误

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

enter image description here

运行后,您将看到错误已解决。.

enter image description here

enter image description here

您可以看到它运行正常。 如果发现任何问题,请与我联系

答案 7 :(得分:3)

update到IntelliJ IDEA 2018.x获得Java 11支持。您的IntelliJ IDEA版本是在Java 11之前发布的,并且不支持该Java版本。

答案 8 :(得分:2)

我的项目模块设置为8,但pom.xml设置为11。当我在模块中从8更改为11时,它起作用了。

答案 9 :(得分:2)

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

  1. 关闭IntelliJ

  2. 转到项目目录

  3. 删除.idea /目录

  4. 从项目目录启动IntelliJ

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

答案 10 :(得分:2)

1. pom.xml (start with this important)
    - <java.version>1.8</java.version>
    * Enable auto import on pop up
    * Wait until it loads

2. Project Structure
    - Project
        - Project SDK - 1.8 
        - Project language Level - 8
    - Modules
        - Sources
            - Language level - 8
            - Dependencies - Project SDK 1.8

3. Delete idea folder
4. Close window
5. Reopen window (make sure it loads at bottom)

答案 11 :(得分:1)

我也遇到了同样的错误,我只是将pom.xml中的Java版本从11更改为1.8,所以一切正常。

答案 12 :(得分:1)

我也遇到了类似的错误,但在我的情况下是Error:java:无效的源发行版:11 ...所以我只是将Java 11的所有注释都更改为Java 8,即使注释是Java 8,我就这样离开我希望它可以帮助您解决问题。

答案 13 :(得分:1)

我可以说我有类似的问题。我的情况:我在工作区中从项目的新版本切换到旧版本,尝试运行需要重新编译的单个junit,使用无效目标抛出了重新编译错误。

从IntelliJ中的Projects设置(F4),一切看起来都很好,并且Java设置为1.7。但是,当我尝试从IDE重新编译时,由于目标级别错误而引发了错误。检查后,我发现在一种iml文件语言中将其设置为JDK_11。手动更改为JDK_1_7后,一切恢复正常。

还可以在IDE创建的* iml文件中手动检查lang级别。

答案 14 :(得分:1)

在该里面的pom.xml文件中,写“ 8”而不是“ 11”,然后重新编译pom.xml文件 而且tadaaaaaa可行!

答案 15 :(得分:1)

试试这个

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

答案 16 :(得分:1)

2021 年 1 月 12 日

我的重点是在我的 pom.xml 中明确指定版本为 java 11,我通过采取以下步骤解决了这个问题。

  1. 打开终端并输入:java -version,然后我得到了 1.8,然后我去 .bash_profile 将 java 版本切换到 11.2,因为我安装了多个 java 版本。请记住“重启”您的终端并再次检查您的java版本以确认切换成功。

  2. 然后我转到文件 -> 项目结构以确保我的 IntelliJ 使用与我的 env 相同的版本,即 11.2。

  3. 重启你的 Intellij,mvn 干净安装,解决了,希望这可以帮助有同样问题的人,谢谢。

答案 17 :(得分:0)

我尝试了以上所有方法,发现了这种秘密调味酱

  1. 确保pom.xml指定了所需的jdk。
  2. 确保maven指定了所需的jdk。
  3. 确保“项目”指定了所需的jdk。
  4. 确保“模块”指定您的整数jdk,“依赖关系”指定您的jdk。 hth。

答案 18 :(得分:0)

我遇到了同样的 java 11 目标错误,我的问题是 maven-compiler-plugin 过时的版本。 升级到最新版,一切正常

答案 19 :(得分:0)

在较新版本的 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 SDKenter image description here enter image description here enter image description here
  2. 然后File > Settings > Java Compiler。检查以下设置:
    • 使用编译器:Javac
    • 项目字节码版本:11
    • 每模块字节码版本:所有模块的目标字节码版本必须设置为 11enter image description here

答案 20 :(得分:0)

更新我的想法后遇到了相同的错误,我按以下步骤解决了该问题:

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

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

答案 21 :(得分:0)

只是有同样的错误。问题是我有空的package-info.java file。当我在其中添加软件包名称后,就可以使用...

答案 22 :(得分:0)

我在build.gradle文件中添加了这两行

compileJava.options.fork = true
                                              
compileJava.options.forkOptions.executable = 'C:\\Program Files\\Java\\jdk-11.0.8'

它有效

我正在使用Windows和基于Gradle的项目

我的jdk路径->'C:\ Program Files \ Java \ jdk-11.0.8'

请提供您的jdk路径

答案 23 :(得分:0)

对我来说,我遇到了同样的问题,但与java v8一样,我在我的机器上为不同的项目使用了不同版本的Java。在导入我的项目之一时,我遇到了同样的问题。为了检查配置,我检查了所有与SDK相关的设置,无论是在File->Project->Project Structure / Modules中还是在“运行/调试”配置中。我设置为java-8的所有内容,但仍然遇到相同的问题。在检查所有配置文件时,我发现.idea中的editor.xml的bytecodeTargetLevel条目已设置为11。即使将其显示为相同的编译器输出并删除 <来自<bytecodeTargetLevel target="11" />的em> compiler.xml 解决了该问题。

答案 24 :(得分:0)

我更改了文件->项目结构->项目设置->模块在源选项卡中,我将语言级别从14、11设置为“ Project Default”。这解决了我的问题。

答案 25 :(得分:0)

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

enter image description here