76

在 IntelliJ 中,当我尝试从构建菜单构建时收到这个奇怪的错误消息

错误:java:不支持发行版 10

我不明白这一点,因为在Project Structure中,我设置了以下设置:

项目 SDK:9.0
项目语言级别:SDK 默认
模块语言级别:项目默认(两个模块)

在我的 pom.xml 文件中,我在两个模块中都设置了这些属性:

<maven.compiler.source>9</maven.compiler.source>
<maven.compiler.target>9</maven.compiler.target>

我不知道它为什么要尝试将 JDK 10 用于任何事情,但我仍然收到该消息。

我很乐意使用 JDK 10,但我的项目在那个版本中不起作用,所以我要回去看看它适用于哪些版本。我安装了 1.4 到 10 版本的 SDK。

我也尝试过使用 JDK 1.8 进行构建,但收到的错误消息略有不同:

错误:java:无效的目标版本:10

我发现我可以使用 JDK 9 从命令行构建,但我需要从我的 IDE 构建。

谁能告诉我如何使用 JDK 1.9 或 1.8 构建我的项目?

4

15 回答 15

168

我遇到了类似的错误,但没有使用 Maven。

它通过更新 IntelliJ 配置来解决:

  • 文件 -> 设置 -> 构建、执行、开发 -> 编译器 -> Java 编译器
  • 更新Project bytecode version到 8

在此处输入图像描述

于 2019-03-02T22:41:56.693 回答
35

我遇到了类似的问题,除了错误是“不支持发布版本 5。” 我尝试了所有上述和其他建议的解决方案,但没有任何效果,除了将以下 xml 放入 pom.xml 文件中:

<properties>
    <maven.compiler.release>11</maven.compiler.release>
</properties>

<build>
    <pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
            </plugin>
        </plugins>
    </pluginManagement>
</build>

代码来自:Maven in 5 Minutes | 阿帕奇 Maven 项目

将此代码放入 pom.xml 后,确保为 Maven 项目导入更改或启用自动导入:

Intellij 弹出框

于 2019-11-14T18:16:16.960 回答
22

最受好评的答案真的帮助了我。但是,对我来说,问题不在于Project bytecode version。相反,我的 Maven 模块被标记为Target bytecode version 1.5,见下图。

只需单击该行并将其删除即可解决问题:

  • 文件 -> 设置 -> 构建、执行、开发 -> 编译器 -> Java 编译器
  • 删除列表中的任何 Per-module 字节码版本,这会覆盖项目字节码版本。

每个模块的字节码版本

于 2019-09-29T06:38:37.390 回答
16

可能您的 IntelliJ IDEA 以前使用过 Java 8。从 java 9 Java 开始,Java 不再有 jdk 和 jre 两部分,而是只有一个,即 jdk。当我从 java 8 切换到 java 11 时,我得到了同样的错误消息。所以你必须将 IntelliJ IDEA 切换到新的 Java 版本。

打开项目结构( Ctrl+ Shift+ Alt+ S)

在此处输入图像描述

或者,从 IntelliJ IDEA 菜单:文件 -> 项目结构 -> 项目

定义新的 jdk。重新编译项目。

这对我有用。

于 2019-03-16T23:06:53.613 回答
11

我刚刚想通了。我还需要调整 maven-compiler-plugin 中的版本。我使用的是 3.8.0 版。我需要更改此值:

<release>10</release>

这是我找到它的地方:

<build>
  <plugins>
    <plugin>
      <artifactId>maven-compiler-plugin</artifactId>
        <version>3.8.0</version>
        <configuration>
            <release>10</release> <!-- This was the problem. -->
        </configuration>
        ...
于 2018-10-13T01:40:10.873 回答
4

解决了文件 -> 项目结构中的问题。

将项目语言级别更改为 11。

IntelliJ 问题:

图片

于 2020-09-15T04:46:32.810 回答
4

我通过 Maven 设置解决了这个问题;

步骤 1. 要么通过;

  • maven 中的活动扳手图标(跳转到第 2 步)
  • 文件 - 设置或Ctrl+ Alt+S

步骤 2. 转到 Build、Execution、Deployment - Maven - Importing: JDK for importer(在底部)

于 2020-01-03T12:44:32.020 回答
3

首先,将此代码放入您的 pom.xml

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>Current Latest Version of Maven e.g. 3.8.1</version>
            <configuration>
                <target>Java Version installed in your system e.g. 13</target>
                <source>Java Version installed in your system e.g. 13</source>
                <release>Java Version installed in your system e.g. 13</release>
            </configuration>
        </plugin>
    </plugins>
</build>

并且还转到文件>设置>构建,执行,部署>编译器> Java编译器并将“项目字节码版本”更改为安装在系统中的Java版本,例如13

于 2020-02-08T19:30:14.803 回答
2

我收到此消息 Java 错误版本 12 不受支持。我正在使用 11。

我是如何设法解决这个问题的?转到文件 --> 项目结构 --> 项目并将项目语言级别更改为您拥有的版本,然后单击并应用。

于 2019-10-21T08:47:48.200 回答
1

由于 .idea 包,这个问题通常会在新设置的项目中弹出。

这 。解决方案根目录中的idea 文件夹(在 OS X 上隐藏)包含 IntelliJ 的项目特定设置文件。其中包括每个项目的详细信息,例如 VCS 映射以及运行和调试配置,以及每个用户的详细信息,例如当前打开的文件、导航历史记录和当前选择的配置。

  • 删除 .idea 包并重新启动 IDE。

很可能你的建筑问题已经消失了:)

于 2021-03-01T12:37:08.807 回答
1

您可以尝试另一种选择,转到 Maven 并检查它正在获取哪个 JRE 版本。我通过修复它解决了我的问题。我有 HDK 14,但它正在考虑 11。

于 2020-12-06T07:25:45.223 回答
1

对于刚刚在属性部分更新他们的 maven 文件的人,请确保您是否单击 IDE maven 工具上的刷新以触发道具设置。

步骤1。

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

第 2 步(非常重要!!!)

单击 IntelliJ Maven 工具栏上的“刷新”图标。

于 2019-11-13T23:30:56.427 回答
1

文件 -> 项目结构 -> 项目 -> 将项目语言级别设置为与您的 SDK 相同。

在此处输入图像描述

于 2021-09-09T04:55:47.767 回答
0

将以下代码放入 pom.xml 中。

<maven.compiler.release>11</maven.compiler.release>

于 2019-12-10T16:07:55.133 回答
0

对于 IntelliJ 中的我来说,我只是去了文件然后是项目结构,然后我选择了不同的 SDK 版本,而不是错误消息中显示的版本,并且错误已经消失了 :)

于 2020-07-03T15:35:20.173 回答