Intellij IDEA 2017.2 无法在 Linux Mint 18 上添加 openjk 9

Intellij IDEA 2017.2 can't add openjk 9 on Linux Mint 18

我正在 Intellij IDEA 2017.2.5 Linux Mint 18.2 并尝试添加新的 openjdk-9 SDK 但 IDEA 不接受 openjdk 9 作为有效 JDK:

我已经使用 ppa 标准存储库中的 apt-get 安装了我所有的 SDK。
这是我的 update-alternatives --config java/javac 输出:

虽然Intellij宣称会支持JDK9here,但似乎还不能完全兼容至少opensdk-9.
也许重构 SDK 目录并删除 'jre' 文件夹会误导 IDEA 找到 SDK 9 主文件夹。

知道为什么 Intellij IDEA 声称“所选目录不是 JDK 的有效目录吗?

“ Ubuntu PPA for OpenJDK” 当前有非常旧的 openjdk-9(9~b115-1ubuntu1).
所以IDEA不承认它是一个有效的SDK。
我删除了当前安装的版本:

sudo apt-get remove '^openjdk-9.*'

然后我从 launchpad build archive.

下载了更新的 .deb build(9~b181) 文件,包括 jre,jre-headless,...
sudo dpkg -i openjdk-9-jre-headless_9_b181-4_amd64.deb  
             openjdk-9-jre_9_b181-4_amd64.deb 
             openjdk-9-jdk-headless_9_b181-4_amd64.deb 
             openjdk-9-jdk_9_b181-4_amd64.deb

只需在一行中执行上述命令,换行是为了更好的可读性。

忽略任何错误抱怨:

"Package libpng16-16 is not installed."

接下来执行以下操作:

  sudo apt-get install -f

现在安装这个 openjdk-9 版本后,IDEA 对 SDK home 很满意。

感谢 @y.bedrov 的有用评论。

更新: 但是,此解决方案使您能够在提到的 IDEA 版本(2017-2)中声明 openjdk-9,但您无法在 IDEA 本身内编译任何 class。 您只能使用 elder jdk 编译您的应用程序,并使用 openjdk-9 运行 编译您的应用程序。还有一个问题表明这个 .

在较新的IDEA版本中(我已经测试过2017.3)openjdk的这个构建不再被允许用作新的SDK,参见this issue

短的原因是 Debian 软件包中的一个问题,其中包含错误编译的 lib/jrt-fs.jar 文件。

See this Answer for more information