我试图在我使用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 Idea中检查了上面所说的项目版本,模块版本,项目字节码版本,目标字节码版本设置,但都和我刮的一样。

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

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

其他回答

我尝试了这里提到的所有步骤https://stackoverflow.com/a/26009627/2058104,但第四点现在已经改变了。你需要去首选项->构建,执行,部署->编译器-> Java编译器

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

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

正如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。

pom.xml 1.6到1.8的更改

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

在我的例子中,细微差别是我得到了一个无效的源代码版本11(而不是OP的8)。我尝试了上面所有的解决方案

Gradle JVM版本,Java编译器字节码版本,模块语言。

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

问题在于构建。Gradle文件有

sourceCompatibility = '11'

将此更改为8,它停止抛出'compile failed invalid release 11'错误

解决方案参考:github论坛

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

Javac:无效目标版本:1.8