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

时间:2014-09-16 20:40:44

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

我试图编译一些代码,我正在使用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有关,但我不知道具体是什么。我试图谷歌周围的消息,但他们要么谈论javactarget release,所以它似乎并不适用。

17 个答案:

答案 0 :(得分:600)

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

在IntelliJ 13.1.4中,我不得不在以下地方更改Java和SDK版本,以免出现此错误:

  • 文件 - >项目结构 - >项目设置
  • 文件 - > 项目结构 - >模块设置 - >标签:来源:语言水平
  • 文件 - >项目 结构 - >模块设置 - >标签:依赖关系:模块SDK
  • 文件 - >设置 - >编译器 - > Java编译器 - >目标字节码 版本

screen shot of File > Project Structure > Project

screen shot of File > Project Structure > Modules > Sources

screen shot of File > Project Structure > Modules > Dependencies

screen shot of File > Settings/Preferences > Compiler > Java Compiler

最后一颗子弹是我的情况下未更新的子弹。一旦我改变了这个,错误就消失了。

答案 1 :(得分:16)

首先检查import slick.driver.PostgresDriver.api._ (如果有的话) 检查您的模块的pom.xml依赖性。确保它是 JDK
为此,请转到项目结构 - > SDK' S
添加存储位置的路径 1.8 (在我的情况下为1.8
应用更改
现在,转到项目结构 - >模块
将模块SDK更改为 jdk1.8.0_45.jdk
应用更改

瞧!你已经完成了

答案 2 :(得分:4)

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

javac: invalid target release: 1.8

答案 3 :(得分:4)

对于有这个问题的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

问题解决了!

答案 4 :(得分:4)

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

enter image description here

答案 5 :(得分:3)

pom.xml 1.6更改为1.8

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

答案 6 :(得分:2)

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

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

gradle -version
来自Windows命令提示符的

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

答案 7 :(得分:1)

我在sendUnblockDeploySubmitHandler()检查了上面所说的所有项目版本,模块版本,项目字节码版本,目标字节码版本设置,但是所有这些都和我划过的一样。

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

因此,我再次将依赖版本降级为Maven pom中的早期版本,并且错误在项目重建模块'xyz_project'之后消失。

答案 8 :(得分:0)

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

enter image description here

然后

enter image description here 选择您以前的版本项目

在我身边:

enter image description here

完成

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

答案 9 :(得分:0)

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

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

enter image description here

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

enter image description here

答案 10 :(得分:0)

正如安德里亚斯(Andreas)提到的所有有关:

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在您的设备上匹配。

答案 11 :(得分:0)

很多好的答案。 对于使用(几乎)最新版本Intellij的用户而言,在撰写本文时,可以说的是,项目JDK的级别可以高于模块的级别。 实际上,如果没有它,则必须将Maven回滚到旧版本。 因此,使用以下版本的Intellij: enter image description here

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

如果使用Module rebuild或build选项,则将模块保持在较低的JDK级别将使您可以将其构建为该版本。使用菜单选项重建项目将抱怨“ Invalid source release:8 ...”。

答案 12 :(得分:0)

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

我将其从11更改为8。 enter image description here

答案 13 :(得分:0)

我尝试了此处https://stackoverflow.com/a/26009627/2058104中提到的所有步骤,但是第4点已经更改。您需要转到首选项->构建,执行,部署->编译器-> Java编译器

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

enter image description here

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

答案 14 :(得分:0)

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

但非常重要的是编辑配置

one more path

答案 15 :(得分:0)

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

答案 16 :(得分:0)

对于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