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

问题描述 投票:5回答:1

我在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的有效主页'吗?

linux intellij-idea openjdk java-9 intellij-idea2017
1个回答
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

© www.soinside.com 2019 - 2024. All rights reserved.