我在 Linux Mint 18.2 上使用 Intellij IDEA 2017.2.5 并尝试添加新的openjdk-9 SDK 但是IDEA不接受openjdk 9作为有效的JDK:
我已经使用ppa标准存储库中的apt-get安装了所有SDK
这是我的update-alternatives --config java/javac
输出:
尽管Intellij声明它支持 JDK 9 here,但它似乎尚未与至少opensdk-9完全兼容。
也许重构SDK目录并删除“ jre ”文件夹会误导IDEA找到SDK 9主文件夹。
任何想法为什么Intellij IDEA声称'所选目录不是JDK的有效主页'?
答案 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文件的问题。