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


341

我正在尝试使用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 vs Java 7有关,但是我不知道具体是什么。我已尝试在Google周围搜索此消息,但他们要么谈论javac要么target release,所以似乎并不适用。


2
安装了什么版本的Java?您将intellij指向IDE设置中的JRE / JDK是什么?
nanofarad 2014年

2
可能是项目设置。检查您指向的JDK以及您要求的语言级别。
duffymo 2014年

1
@duffymo您说得对,它指向8。我没有意识到这是一个设置。
大卫说莫妮卡(Monica)恢复2014年

Answers:


765

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

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

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

“文件”>“项目结构”>“项目”的屏幕截图

“文件”>“项目结构”>“模块”>“源”的屏幕截图

文件>项目结构>模块>依赖关系的屏幕快照

文件>设置/首选项>编译器> Java编译器的屏幕截图

最后一个是我的情况下未更新的项目符号。更改此设置后,错误消失了。


31
一杀我的是这个:File -> Settings -> Compiler -> Java Compiler -> Target bytecode version。谢谢。
bitoiu

18
我也遇到了这个问题,但是以上都不起作用。我必须这样做IntelliJ IDEA -> Preferences... -> Build, Execution, Deployment -> Build Tools -> Gradle -> Gradle JVM,以防任何人在使用Gradle时遇到此问题。
Emil

2
资料来源:IDEA 15
Mia

4
这应该是公认的答案。作为一个小提示,在IntelliJ IDEA 15中,第4点已移至Preferences -> Build, Execution, Deployment -> Compiler -> Java Compiler
iusting

在某些运行/调试配置中还有一个JRE选择。例如,Tomcat运行/调试配置具有一个“ JRE”选择器,它可能导致此错误。
jordanpg

16

检查你的pom.xml第一个(如果有的话)
检查模块的JDK扶养。确保 做到这一点,转到Project Structure-> SDK's 将路径添加到您存储1.8的位置(以我为例) 现在 应用更改,转到Project Structure-> Modules 更改Module SDK以 应用更改1.8

jdk1.8.0_45.jdk


1.8

瞧!你完成了


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

问题解决了!



5

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

在此处输入图片说明



2

Andreas Lundgren的答案奏效了,我得以编译并运行我的应用程序。

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

gradle -version

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


1

我检查了以上所有提到的项目版本,模块版本,项目字节码版本,目标字节码版本设置IntelliJ Idea,但都与我抓过的相同。

我之所以会遇到此错误Error:java: invalid source release: 1.8IntelliJ Idea 2017.2.6是因为我升级了依赖版本Mavenpom文件,该文件应该是为JDK 1.8应用程序构建的,并且我正在使用maven编译器源和目标JDK 1.7来构建我的应用程序。

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


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

0

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



0

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

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

在此处输入图片说明

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.