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

时间:2017-10-04 11:44:02

标签: linux intellij-idea openjdk java-9 intellij-idea2017

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

Intellij claims about SDK home

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

update-alternatives --config java/javac

尽管Intellij声明它支持 JDK 9 here,但它似乎尚未与至少opensdk-9完全兼容。
也许重构SDK目录并删除“ jre ”文件夹会误导IDEA找到SDK 9主文件夹。

任何想法为什么Intellij IDEA声称'所选目录不是JDK的有效主页'?

1 个答案:

答案 0 :(得分:1)

“ 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

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

忽略抱怨的任何错误:

  

"未安装包libpng16-16。"

接下来执行以下操作:

  sudo apt-get install -f

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

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

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

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

简短的原因是Debian软件包中存在错误编译的lib / jrt-fs.jar文件的问题。

See this Answer for more information