错误:java:javacTask:源发行版 8 需要目标发行版 1.8

使用 IntelliJ IDE 不能编译任何项目。以下设置的屏幕截图:

二手 JDK:

http://gyazo.com/b6e32119af7b04090d890cad04db6373

项目 SDK 和语言级别:

http://gyazo.com/55a5fc9f7f2bb721a04780ce9d74eeab

语言等级:

http://gyazo.com/143bffad63fd89cafc231298729df2fc

有人有什么想法吗?

答案

  1. 文件 > 设置 > 构建,执行,部署 > 编译器 > Java 编译器
  2. 目标字节码版本更改为您正在使用的模块的1.8

如果您使用的是 Maven

将编译器插件添加到顶级project节点下的pom.xml

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
    </plugins>
</build>

(从评论中悬挂。)

注意:如果您不介意重新导入项目,则真正需要做的就是更改 pom 并重新导入项目,然后 IntelliJ 将选择正确的设置,而您不必手动更改它们。

您需要转到 “设置” 并在 Java 编译器下进行以下设置: 在此处输入图片说明

还要检查项目设置

当您未正确配置编译器插件时,这看起来像是 Maven 生成的那种错误。这是 Java 8 编译器配置的示例。

<project xmlns="http://maven.apache.org/POM/4.0.0"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

<!-- ... -->

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.5.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

<!-- ... -->

</project>

我发现的最快方法:

  • 按下: CTRL + SHIFT + A (对于Mac⌘ + SHIFT + A
  • 类型: java compiler
  • 按下: ENTER

在设置窗口中,将目标字节码设置为1.8

(或对于 Java9 为9

有两种方法可以解决此问题:

  1. 设置设置(File -> Settings -> Build, Execution, Deployment -> Java Compiler)在此处输入图片说明
  2. 将构建部分添加到pom.xml在此处输入图片说明

关于 Maven 的许多答案都是正确的,但是您不必直接配置插件。

就像 Apache Maven 编译器插件的Wiki 页面上所述,您可以只设置插件使用的 2 个属性。

<project>
  [...]
  <properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
  </properties>
  [...]
</project>

我通过转到项目结构 -> 模块来解决此问题,找到有问题的模块,单击Dependencies选项卡,将Module SDK更改为Project SDK

我只是通过将目标编译版本更改为 1.8 来修复它。在里面:

文件 >> 设置 >> 构建,执行,部署 >> 编译器 >> Java 编译器

您需要转到/.idea/compiler.xml并将target更改为所需的jdk级别。

在此处输入图片说明

我通过修改 POM 文件来修复它。请注意在投票最高的答案下的最后一条评论。

<plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>2.3.2</version>
        <configuration>
            <source>1.8</source>
            <target>1.8</target>
            <encoding>UTF-8</encoding>
        </configuration>
</plugin>

源必须与目标匹配。