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

Kay*_*ani 5 linux openjdk intellij-idea java-9 intellij-idea2017

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

Intellij声称SDK主页

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

update-alternatives --config java/javac

虽然声明的IntelliJ会支持JDK 9 在这里,但现在看来,这是尚未与至少opensdk-9完全兼容.
也许重构SDK目录并删除' jre '文件夹会误导IDEA找到SDK 9主文件夹.

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

Kay*_*ani 1

\xe2\x80\x9c OpenJDK\xe2\x80\x9d 的 Ubuntu PPA目前具有非常旧的 openjdk-9 版本(9~b115-1ubuntu1)。
\n因此 IDEA 无法将其识别为有效的 SDK。
\n我删除了当前安装的版本:

\n\n

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

\n\n

然后我从launchpad build archive下载了较新的 .deb build(9~b181) 文件,包括 jre、jre-headless ...。

\n\n
sudo dpkg -i openjdk-9-jre-headless_9_b181-4_amd64.deb  \n             openjdk-9-jre_9_b181-4_amd64.deb \n             openjdk-9-jdk-headless_9_b181-4_amd64.deb \n             openjdk-9-jdk_9_b181-4_amd64.deb\n
Run Code Online (Sandbox Code Playgroud)\n\n

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

\n\n

忽略任何抱怨的错误:

\n\n
\n

“未安装软件包 libpng16-16。”

\n
\n\n

接下来执行以下命令:

\n\n
  sudo apt-get install -f\n
Run Code Online (Sandbox Code Playgroud)\n\n

现在,安装此版本的 openjdk-9 后,IDEA 对 SDK home 感到满意。

\n\n

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

\n\n

更新: \n但是,此解决方案允许您在提到的 IDEA 版本(2017-2)中声明 openjdk-9,但您无法在 IDEA 本身中编译任何类。\n您只能使用较旧的 jdk 编译应用程序并运行它使用 openjdk-9。还有一个问题在这里表明了这一点。

\n\n

在较新的 IDEA 版本中(我已经测试过 2017.3),此版本的 openjdk 不再允许用作新的 SDK,请参阅此问题

\n\n

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

\n\n

请参阅此答案以获取更多信息

\n