IntelliJ:致命错误编译:无效的目标版本:1.8

Posted

技术标签:

【中文标题】IntelliJ:致命错误编译:无效的目标版本:1.8【英文标题】:IntelliJ: Fatal error compiling: invalid target release: 1.8 【发布时间】:2017-10-29 03:06:09 【问题描述】:

我正在 IntelliJ 上运行一个 Java Maven 项目,我确保该项目将由 Java 1.8 编译。

我在运行/调试配置中将 JRE 设置为版本 8

以及在项目结构中: 我的 pom.xml 文件还包含以下 Java 版本 8:

<properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
</properties>

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

我还将 Java 编译器选项设置为版本 1.8.

当我运行项目时,我得到一个错误:

未能执行目标 org.apache.maven.plugins:maven-compiler-plugin:3.0:compile 项目 feed_matcher 上的(默认编译):致命错误编译: 无效的目标版本:1.8 -> [帮助 1]

你知道如何解决这个问题吗?

P.S 我点击了这个链接:IDEA: javac: source release 1.7 requires target release 1.7,但我仍然无法解决问题。

【问题讨论】:

它是一个 Maven 项目吗?然后确保在 pom.xml 中没有设置说它应该使用 Java 8。 IntelliJ 仍然尝试编译 Java 8 代码(Java 7 编译器抱怨)。还要仔细检查编译器设置。 @ThorbjørnRavnAndersen,我如何在 IntelliJ 中检查它?我已经展示了项目结构 如果是maven项目,可能是在pom.xml中编译配置错误。你能从命令行运行“mvn clean install”,让 JAVA_HOME 指向你的 Java 7 安装吗? 见***.com/a/12900859/104891。 【参考方案1】:

确保 JAVA_HOME 设置为 JDK7 或 JRE7。这在 关注link

确保打开一个新的 shell 并运行 intellij

如果这不起作用,请查看用于运行 intellij 的 idea.bat 文件 - 确保它使用 jdk7/jre7 确保在您的项目中正确定义了 JDK。查看此link 了解更多信息。 确保在 maven 中将源定义为 1.7

以上 4 个步骤总是帮助我解决此类问题。

【讨论】:

1.完毕。 2.一个新的外壳?我使用 Windows。我重新启动了我的机器,但它仍然没有帮助。 3.idea.bat?它位于哪里? 4. 完成。 5. 完成。 Windows 上的新外壳 = 新窗口。 Windows 也有外壳 :) 你的机器上安装了 JDK8 吗? (或 JRE8)? 当然。当然【参考方案2】:

我假设你想要在版本 8 中使用它,尽管有很多 cmets 告诉你设置为 7。

您可能错过了 maven runner 的设置,这是在 Preferences -> Build, Exection, Deployment > Build Tools > Maven > Runner 下,见附图。您还需要将其设置为 Java 8。

【讨论】:

【参考方案3】:

查看构建执行、部署 > 编译器 > Java 编译器

然后查找每个模块的字节码版本

【讨论】:

这修复了它。谢谢!

以上是关于IntelliJ:致命错误编译:无效的目标版本:1.8的主要内容,如果未能解决你的问题,请参考以下文章

编译致命错误:目标版本无效:1.8 -> [帮助 1]

编译致命错误:目标版本无效:12 -> [帮助 1]

致命错误编译:无效的目标版本:9

Maven 未使用 Java 11 - 编译致命错误:目标版本无效:11

为啥当我尝试将我的 Spring Boot 应用程序推送到 heroku 时它返回“致命错误编译:无效目标版本:11”

编译 Java 应用程序时目标版本无效