【问题标题】:Intellij, target JRE vesion doesn't match project jdk versionIntellij,目标 JRE 版本与项目 jdk 版本不匹配
【发布时间】:2020-06-09 01:42:54
【问题描述】:

我在我的 MacBook 上使用 Intellij Community 版本 2019.3。我有一个简单的 springboot (java) 项目。每当我运行单元测试时,都会收到以下警告:

我应该在哪里检查 Intellij 以消除此错误? (我在网上听说过“项目设置”,但我找不到这个选项在哪里)

【问题讨论】:

  • 我正在使用终极版 2019.3.3 进行工作,并且菜单“文件”,项目结构“。在“平台设置”下的这个打开对话框中,有一个名为“SDK”的条目.
  • 项目 JDK:文件 |项目结构 |项目 -> 项目 SDK。其他 JDK(目标 JRE)取自您从那里指定的模块或 JRE 运行的运行/调试配置。必须相同。

标签: java spring-boot intellij-idea


【解决方案1】:

Gradle 的目标 JRE 版本可以在 Intellij 中通过 Gradle JVM 设置在 Preferences (cmd + ,) > Build, Execution, Deployment > Gradle 进行配置:

项目JDK版本可以通过Project Structure (cmd + ;)中的Project SDK设置进行配置:

(截取自 IntelliJ IDEA 2020.1.4 的屏幕截图)

【讨论】:

  • 注意:您可能需要重新启动 IntelliJ IDEA 才能使更改生效
【解决方案2】:

这是因为您正在为 Java 1.8 的目标版本构建

根据您使用的是 Maven 还是 Gradle,您可以使用以下方式设置 java 的目标版本:

Gradle

  sourceCompatibility = '1.8'
  targetCompatibility = '1.8'

文档:

Maven

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

文档:

您可以将此版本更改为12JavaVersion.VERSION_12 以使用您的构建JDK,但是您将失去兼容性并且无法使用Java 1.8 运行应用程序jar。

您也可以更改构建 SDK 版本,在 ma​​cOS 上按 command + ; 并转到 Project Settings -> Project 并将 Project SDK 更改为您想要的版本构建它。

【讨论】:

  • 我还必须更新平台设置。在 Mac 上:文件 > 项目结构 > 平台设置/SDK > 删除除“1.8”文件夹之外的所有文件夹(在我的情况下为“Kotlin SDK”文件夹)。我不得不删除 IntelliJ 自动添加的 15.0.2 文件夹。
  • @wildcat12 是的,当版本不同时可能会发生这种情况。 target 版本必须始终等于或高于项目 SDK 的版本,source 版本必须等于或高于 target 版本。 SDK >= target >= source
【解决方案3】:

Intellij + Gradle 也指 Intellij 中的 Gradle JVM 设置。

确保如下所示进行更改:

【讨论】:

    猜你喜欢
    • 2017-11-29
    • 2018-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-29
    • 2016-02-15
    相关资源
    最近更新 更多