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

Error: Java: invalid target release: 11 - IntelliJ IDEA

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

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

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

并将其添加到Path变量中。

1
2
3
4
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中构建我的应用程序时,这就是我得到的:

1
2
3
4
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

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

  • 我将.idea/compiler.xml目标值从8更改为11,但这无济于事。另外,请验证settings > Build, Execution, Deployment > Compiler > Java Compiler中的Target bytecode version,并将我的所有模块都设置为11。

  • 进入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文件夹,但是只看到了11.0.1

    的JDK文件夹。

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


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

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

    1
    File->Project Structure->Modules ->> Language level to 8 ( my maven project was set to 1.8 java)

    AND

    1
    File -> Settings -> Build, Execution, Deployment -> Compiler -> Java Compiler -> 8 also there

    我希望它会有用


    • 我今天有相同的信息消息和错误消息,但是我有
      最近更新的Idea-> 2018.3.3,建于2019年1月9日。
    • 要解决此问题,我更改了File-> Project Structure-> Modules->>
      语言级别为10。

    • 然后检查文件->设置->构建,执行,
      部署->编译器-> Java编译器->>项目字节码
      和每个模块的字节码版本。我那里有11个。

    • 现在我没有收到这些通知和错误。

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


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

  • 关闭IntelliJ

  • 转到项目目录

  • 删除.idea /目录

  • 使用项目目录启动IntelliJ

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

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


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


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

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

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

  • 转到,文件->项目结构->模块。在这里,在"源"选项卡中,您可以看到"语言级别"选项,选择8-Lambda,键入注释等。最后,选择"应用"并单击"确定",您就很好了。


  • 在更新我的想法后遇到了相同的错误,我按以下步骤解决了它:

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

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


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

    enter

    enter

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


    如果您在Springboot中,请检查pom.xml文件中的Java版本。

    1
    2
    3
    <properties>
       <java.version>11</java.version>
    </properties>

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


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


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


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


    在您的内的pom.xml文件中,写" 8"而不是" 11",然后重新编译您的pom.xml文件
    和tadaaaaaa它起作用了!


    只是有同样的错误。问题是我有空的package-info.java file。一旦我在其中添加了程序包名称,它就起作用了...


    2021年1月6日,

    这对我有用。

    转到"文件"->"项目结构",然后选择窗口右侧面板上的"依赖关系"选项卡。然后使用这样的下拉菜单更改" Module SDK"。然后应用更改。

    image

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

  • 重新启动您的Intellij,MVN全新安装,已解决,希望这可以帮助解决此问题的人,谢谢。


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


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

  • 确保pom.xml指定了所需的jdk。
  • 确保Maven指定了所需的jdk。
  • 确保"项目"指定了所需的jdk。
  • 确保模块指定您的整数jdk,而依赖项指定您的jdk。
    hth。

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

    1
    2
    3
    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路径