【问题标题】:JDKs installed with SDKMAN are not selectable in the IntelliJ IDE使用 SDKMAN 安装的 JDK 在 IntelliJ IDE 中不可选择
【发布时间】:2020-03-29 12:06:00
【问题描述】:

哪些步骤会重现问题?

  • 安装 SDKMAN (https://sdkman.io) 命令行工具
  • 使用 sdkman 安装一个或多个 JDK 例如:sdk install java 8.0.232-zulu
  • 在 IntelliJ IDEA 中打开一个项目
  • 导航到“为 JDK 设置主目录”窗口:文件 » 项目结构 » SDK » +(按钮)» JDK
  • 选择“显示隐藏的文件和目录”
  • 导航到 ~/.sdkman/candidates/java
  • 此处应显示已安装的 JDK 版本 - 但无法打开文件夹

预期的结果是什么?

安装的JDK应该是可选择的

会发生什么?

浏览器中不显示包含 JDK 的文件夹(图片 #3) 我需要切换回JDK 8,目前只能使用JDK11内置的IDE(无法选择通过SDKMAN安装的11或8 JDK版本)

环境

操作系统:Linux Mint IntelliJ IDEA 2019.3(社区版) 构建 #IC-193.5233.102,于 2019 年 11 月 28 日构建

屏幕截图和日志可以在 Jetbrains 问题跟踪器中找到: https://youtrack.jetbrains.com/issue/IDEA-228394

【问题讨论】:

  • 在任何文件选择对话框中都有刷新按钮(步骤的最后一点),你按下了吗? IntelliJ 缓存文件系统,在某些菜单中您必须手动刷新它。
  • 是的,在报告错误之前我已经这样做了,我还在卸载并重新安装两个 JDK 后重新启动了系统
  • 您是否尝试过文件 > 使缓存无效/重新启动?
  • 啊,谢谢,问题已经解决了。我总是忘记这是 IntelliJ 的魔法咒语。你能写一个“答案”,以便我可以将其标记为解决方案吗?

标签: java intellij-idea sdkman


【解决方案1】:

使用File > Invalidate Caches / Restart 选项应该使本地缓存无效。希望这是对话缓存中的一个小故障。

【讨论】:

    【解决方案2】:

    如果计划使用 Java 14(预览 - 记录、模式、文本块),请切换到 IntelliJ 2020.1 更新。 然后,您可以按 (cmd + ;) for mac 打开项目/模块设置并选择Java 14 JDK 和语言级别Java 14 (Preview - Record, patterns, text blocks)

    【讨论】:

      【解决方案3】:

      对我来说,以下两项都有助于解决。

      1. 使缓存失效(文件 > 使缓存失效/重新启动)
      2. 将 IntelliJ 版本更新到 2021.x(这将解决您的大部分问题!)

      【讨论】:

        猜你喜欢
        • 2018-06-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-10-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-07-02
        相关资源
        最近更新 更多