错误:java:无效的源版本:Intellij 中的 8。这是啥意思?

Posted

技术标签:

【中文标题】错误:java:无效的源版本:Intellij 中的 8。这是啥意思?【英文标题】: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?您在 IDE 设置中将 intellij 指向哪个 JRE/JDK? 可能是项目设置。检查您指向的 JDK 和您要求的语言级别。 @duffymo 你是对的,它指向 8。我没有意识到这是一个设置。 Unable to compile using Java 1.7 in Jetbrains Intellij after moving from 1.6 to 1.7 (maven based project) 的可能重复项 【参考方案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://***.com/a/26009627/4609353

但非常重要的是编辑配置

【讨论】:

【参考方案12】:

我尝试了https://***.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 按照步骤解决此错误

    文件->项目结构->项目 点击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

【讨论】:

以上是关于错误:java:无效的源版本:Intellij 中的 8。这是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章

IntelliJ Idea编译报错:无效的源发行版 1.7

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

IntelliJ:致命错误编译:无效的目标版本:1.8

java: 错误: 无效的源发行版:15

java: 错误: 无效的源发行版:17

IDEA报错 java: 错误: 无效的源发行版:17