由于新的文件夹结构,在Linux上的Intellij IDEA中将Java 9正确设置为SDK
在你写信给我之前,请考虑这两个问题都不是我的问题的答案:在IntelliJ IDEA 2017.2.6中,试图在SDK通过时添加JDK9,但由于类路径最终为空而无法工作。复制的步骤:
- 打开“添加新SDK对话框”
(转到项目设置>;项目>;项目SDK>;新建>;JDK) - 选择JDK 9
- 通过,但如果您查看SDK>;JDK9类路径为空,由于找不到基类,代码错误将被清除。参见图片:
在IntelliJ IDEA 2017.3 EAP中,您会发现一个关于找不到JDK类的错误。见下图:
- 打开“添加新SDK对话框”
(转到项目设置>;项目>;项目SDK>;新建>;JDK) - 选择JDK 9
- 应该通过,但会产生错误弹出窗口
使用jdk9对HelloWorld示例进行的命令行编译工作正常
编辑:找到一个几乎重复的:Intellij IDEA 2017.2 can't add openjk 9 on Linux Mint 18关键差异:
- Linux版本:他们使用Mint 18,我使用Debian Stretch李>
- OpenJDK是本文撰写之时回购协议的最新版本:9~b181-4~bpo9+1。虽然是同一个版本,但在我的情况下仍然不起作用李>
编辑:另一个可能的副本:intellij idea does not see java 9 standard classes
不过,我不明白评论中的答案。尝试为JDK(9和1.9)设置不同的名称,但仍然没有显示模块而不是类路径,类路径仍然为空
# 1 楼答案
当前的debian二进制软件包openjdk-9-jre-headless 9~b181-4包含错误编译的lib/jrt-fs。jar文件
在idea youtrack和ubuntu launchpad上分别有两个提交的问题
如图所示here:
一个临时解决方案可能会取代/usr/lib/jvm/java-9-openjdk-amd64/lib/jrt-fs。jar与Oracle JDK中的一个
您还可以尝试使用建议的选项“release8”重新编译openjdk-9源代码
无论如何,我建议在上面的链接上投票支持这个问题,以吸引开发团队的更多关注