我试图在我使用Intellij终极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有关,但我不知道具体是什么。我试图谷歌周围的这条消息,但他们谈论javac或目标发布,所以它似乎并不完全适用。


当前回答

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

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

如果你使用module rebuild或build选项,将你的模块保持在较低的jdkwise级别将使你能够将它构建到该版本;使用菜单选项重建项目会抱怨“无效的源代码发布:8…”。

其他回答

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

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

文件->项目结构->项目设置 文件- > 项目结构->模块设置->选项卡:来源:语言级别 File ->项目 结构—>模块设置—>选项卡:依赖项:模块SDK File -> Settings -> Compiler -> Java Compiler ->目标字节码 版本

最后一颗子弹在我的案例中没有更新。一旦我修改了这个,错误就消失了。

首先检查pom.xml(如果有的话) 检查模块的JDK依赖关系。确保它是1.8 要做到这一点,请转到项目结构-> SDK 将路径添加到存储1.8的位置(jdk1.8.0_45. exe)。JDK在我的情况下) 应用更改 现在,转到项目结构->模块 将Module SDK更改为1.8 应用更改

瞧!你完成

如果你使用Gradle作为构建工具,并且在执行Gradle任务(即TomcatRun)时得到这个错误,请看看我对同一问题的另一个答案

Javac:无效目标版本:1.8

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

在IntelliJ Idea 2017.2.6中,我面临这个错误:java: invalid源版本:1.8,因为我升级了依赖版本Maven pom文件,它(依赖)应该是为JDK 1.8应用程序构建的,我正在使用Maven编译器源和目标JDK 1.7构建我的应用程序。

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

Andreas Lundgren的回答起作用了,我能够编译并运行我的应用程序。

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

gradle -version

从Windows命令提示符显示gradle仍然选择不正确的jdk。为了解决这个问题,我必须设置JAVA_HOME环境变量以指向正确的jdk并重新启动IntelliJ。