- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我在 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 的有效目录”吗?
最佳答案
“ 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 本身中编译任何类。您只能使用 elder jdk 编译您的应用程序并使用 openjdk-9 运行它。还有一个表明此 here 的问题.
在较新的 IDEA 版本中(我已经测试过 2017.3),这个 openjdk 构建不再被允许用作新的 SDK,参见 this issue .
简短的原因是 Debian 软件包中的一个问题,其中包含错误编译的 lib/jrt-fs.jar 文件。
关于linux - Intellij IDEA 2017.2 无法在 Linux Mint 18 上添加 openjk 9,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46563992/
我在 Linux Mint 18.2 上使用 Intellij IDEA 2017.2.5 并尝试添加新的 openjdk-9 SDK 但 IDEA 不接受 openjdk 9 作为有效的 JDK:
我是一名优秀的程序员,十分优秀!