【问题标题】:Error:java: invalid source release: 8 in Intellij. What does it mean?错误:java:无效的源版本:Intellij 中的 8。这是什么意思?
【发布时间】:2014-11-10 18:00:37
【问题描述】:

我正在尝试在使用 Intellij Ultimate 13.1.4 时编译一些代码,但出现以下错误,我不知道这是什么意思:

Information:Using javac 1.7.0_55 to compile java sources
Information:java: Errors occurred while compiling module 'Example'
Information:Compilation completed with 1 error and 0 warnings in 3 sec
Information:1 error
Information:0 warnings
Error:java: invalid source release: 8

我的猜测是它与 Java 8 和 Java 7 有关,但我不知道具体是什么。我尝试在 Google 上搜索这条消息,但他们要么谈论 javactarget release,所以它似乎并不完全适用。

【问题讨论】:

标签: java intellij-idea compilation javac intellij-13


【解决方案1】:

我在将项目从 Java 8“降级”到 Java 6 时遇到了同样的问题。原因是 IntelliJ 中的所有地方都没有更改。

在 IntelliJ 13.1.4 中,我必须在以下位置更改 Java 和 SDK 版本才不会出现此错误:

  • 文件 -> 项目结构 -> 项目设置
  • 文件-> 项目结构 -> 模块设置 -> 选项卡:来源:语言级别
  • 文件 -> 项目 结构 -> 模块设置 -> 选项卡:依赖项:模块 SDK
  • 文件 -> 设置 -> 编译器 -> Java 编译器 -> 目标字节码 版本

最后一个项目符号是在我的案例中未更新的项目符号。一旦我改变了这个,错误就消失了。

【讨论】:

  • 杀死我的是这个:File -> Settings -> Compiler -> Java Compiler -> Target bytecode version。谢谢。
  • 我也遇到了这个问题,但以上都没有奏效。我必须这样做IntelliJ IDEA -> Preferences... -> Build, Execution, Deployment -> Build Tools -> Gradle -> Gradle JVM,以防有人在使用 Gradle 时遇到这个问题。
  • 来源:语言级别更改为 7 - IDEA 15 的 Diamonds、ARM、multi-catch 等
  • 这应该是公认的答案。提醒一下,在 IntelliJ IDEA 15 中,第 4 点已移至 Preferences -> Build, Execution, Deployment -> Compiler -> Java Compiler
  • 在一些运行/调试配置中还有一个 JRE 选择。例如,Tomcat 运行/调试配置具有可能导致此错误的“JRE”选择器。
【解决方案2】:

首先检查您的pom.xml(如果有的话)
检查您的模块的 JDK 依赖关系。确保它是 1.8
为此,请转到 Project Structure -> SDK's
将路径添加到您存储 1.8 的位置(在我的情况下为jdk1.8.0_45.jdk
应用更改
现在,转到项目 Structure ->Modules
将模块 SDK 更改为 1.8
应用更改

瞧!你已经完成了

【讨论】:

    【解决方案3】:

    如果您使用 Gradle 作为构建工具,并且在执行 Gradle 任务(即 TomcatRun)时收到此错误,请查看我对同一问题的其他答案

    javac: invalid target release: 1.8

    【讨论】:

    • 谢谢!在上述答案没有解决之后,这解决了我的问题。
    【解决方案4】:

    Andreas Lundgren 的回答有效,我能够编译并运行我的应用程序。

    但是,当我尝试运行项目的相关 JUnit 测试时,我收到了同样的错误。运行

    gradle -version
    

    来自 Windows 命令提示符显示 gradle 仍在拾取不正确的 jdk。要修复它,我必须将JAVA_HOME 环境变量设置为指向正确的 jdk 并重新启动 IntelliJ。

    【讨论】:

      【解决方案5】:

      pom.xml 1.6 更改为1.8

      <plugin>
          <artifactId>maven-compiler-plugin</artifactId>
          <configuration>
              <source>1.8</source>
              <target>1.8</target>
          </configuration>
      </plugin>
      

      【讨论】:

        【解决方案6】:

        对于遇到此问题的 Gradle 用户,如果以上没有任何帮助,这就是解决我的问题的方法 - 在您的 build.gradle 文件中应用此声明:

        targetCompatibility = 1.6 //or 1.7;1.8 and so on
        sourceCompatibility = 1.6 //or 1.7;1.8 and so on
        

        问题解决了!

        【讨论】:

          【解决方案7】:

          对于 Grails 用户,在您的 BuildConfig.groovy 文件中应用这些声明:

          grails.project.target.level = 1.6 //or 1.7;1.8 and so on
          grails.project.source.level = 1.6 //or 1.7;1.8 and so on
          

          【讨论】:

            【解决方案8】:

            通过设置Project Structure 可以简单地克服它。您只需要为相关版本的JDK选择正确的路径。在依赖项选项卡上选择new,然后选择路径。完成了!

            【讨论】:

              【解决方案9】:

              您需要点击进入项目 打开 Module Settings 并更改 JDK 的路径,如果在文件 POM 中使用 jdk 1.8,请使用正确的路径配置 jdk 1.8。

              【讨论】:

                【解决方案10】:

                我在IntelliJ Idea中检查了以上所有项目版本,模块版本,项目字节码版本,目标字节码版本设置,但都和我抓的一样。

                我在IntelliJ Idea 2017.2.6 中遇到此错误Error:java: invalid source release: 1.8,因为我升级了依赖版本Maven pom 文件,该文件(依赖)应该为 JDK 1.8 应用程序构建,而我正在构建我的在 Maven 编译器源和目标 JDK 1.7 上使用应用程序。

                因此我再次将依赖版本降级到Maven pom 中的早期版本,并且在项目 Rebuild Module 'xyz_project' 之后错误消失了。

                【讨论】:

                  【解决方案11】:

                  我在此答案中添加了一条未提及的路径https://stackoverflow.com/a/26009627/4609353

                  但非常重要的是编辑配置

                  【讨论】:

                    【解决方案12】:

                    我尝试了https://stackoverflow.com/a/26009627/2058104 中提到的所有步骤,但第四点现在已经改变。你需要去Preferences -> Build, Execution, Deployment -> Compiler -> Java Compiler

                    在那里,如下图所示,您需要更改“目标字节码版本”。虽然,我将其更改为 8(因为我需要降级到 Java 8),但它一遍又一遍地给出相同的错误。因此,尝试删除现有条目(在此表中)并重新添加。这对我有用。

                    另一方面,清理项目并尝试再次运行。

                    【讨论】:

                      【解决方案13】:

                      我遇到了同样的问题,我的解决方案是在 pom.xml 文件中更改我的 java 版本。

                      我将它从 11 更改为 8。

                      【讨论】:

                        【解决方案14】:

                        很多很好的答案。 对于那些使用(几乎)最新版本的 Intellij 的人来说,在撰写本文时,可以说项目 JDK 可以比模块的级别更高。 事实上,如果没有它,Maven 将不得不回滚到旧版本。 因此,使用以下版本的 Intellij:

                        不应更改项目级别的 JDK,因此可以在构建时利用 Maven 或 Gradle 设置,但在运行 Maven 或使用更现代版本的 JDK 运行 Gradle 时。 如果将项目级别的 JDK 从 JKD8 降低到 JDK6,Maven 或 Gradle 将无法运行。

                        如果您使用模块重新构建或构建选项,则将模块保持在较低级别的 JDK 将使您能够将其构建到该版本;使用菜单选项重建项目会报错“Invalid source release:8...”。

                        【讨论】:

                          【解决方案15】:

                          正如安德烈亚斯所说:

                          Error:java: invalid source release: 8 in IntelliJ
                          Error:java: invalid source release: 13 in IntelliJ
                          Error:java: invalid source release: 14 in IntelliJ...
                          

                          或者您在 Java 中使用的任何版本...

                          如果你没有在下面的代码中匹配,问题就会存在:

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

                          在我的情况下,这个 1.8 必须通过 MAVEN 项目库、设置、首选项、项目设置和 SDK 在您的设备上匹配。

                          【讨论】:

                            【解决方案16】:

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

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

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

                            【讨论】:

                            • 如果你没有SDK 12。只需添加最新的
                            【解决方案17】:

                            如果您收到此错误:错误:java:无效的源版本:12 信息:java:编译模块“IdeaProjects”时发生错误 资料:javac 1.8.0_211 用于编译java源 信息:由于项目配置/依赖项更改,模块“IdeaProjects”已完全重建 信息:2021 年 7 月 12 日晚上 8:21 - 构建完成,在 6 秒 323 毫秒内出现 1 个错误和 0 个警告 错误:java:无效的源版本:12

                            那么

                            选择您以前的版本项目

                            在我身边:

                            完成

                            如果您获得了 IDE 的解决方案,请给我发消息 www.betechnical.tech 或 amankushwaha9918@gmaill.com

                            【讨论】:

                              【解决方案18】:

                              就我而言,细微差别是我获得了无效的源版本 11(而不是 OP 的 8)。我尝试了上面的所有解决方案

                              • gradle jvm 版本,java 编译器字节码版本,模块语言。

                              我将以上所有设置为 java 8(或 1.8),因为这是我机器上的库。

                              问题在于 build.gradle 文件有

                              sourceCompatibility = '11'

                              将此更改为 8 并停止抛出“compile failed invalid release 11”错误

                              解决方案参考:github forum

                              【讨论】:

                                猜你喜欢
                                • 2017-04-02
                                • 2018-02-27
                                • 1970-01-01
                                • 2015-02-10
                                • 1970-01-01
                                • 1970-01-01
                                • 1970-01-01
                                相关资源
                                最近更新 更多