热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

由于新的文件夹结构,在Linux上的IntellijIDEA中正确设置Java9作为SDK

如何解决《由于新的文件夹结构,在Linux上的IntellijIDEA中正确设置Java9作为SDK》经验,为你挑选了2个好方法。

在你写下我之前,请考虑这些都不是我的问题的答案:

如何在IntelliJ IDEA中设置SDK?

如何更改IntelliJ IDEA默认JDK?


在IntelliJ IDEA 2017.2.6中,尝试将JDK9作为SDK添加但不起作用,因为类路径最终为空.重现步骤:

    打开"添加新SDK对话框"
    (转到项目设置>项目>项目SDK>新建> JDK)

    选择JDK 9
    选择jdk对话框

    通过,但如果您在SDK下查看> JDK9类路径为空,并且由于找不到基类而导致代码错误.见图:
    没有类路径

在IntelliJ IDEA 2017.3 EAP中,您收到有关未找到JDK类的错误.见下图:

    打开"添加新SDK对话框"
    (转到项目设置>项目>项目SDK>新建> JDK)

    选择JDK 9
    选择jdk对话框

    应该通过,但会产生错误弹出窗口
    jdk错误弹出窗口

使用jdk9的HelloWorld示例的命令行编译按预期工作.

编辑:发现几乎重复:Intellij IDEA 2017.2无法在Linux Mint 18上添加openjk 9.主要差异:

Linux版本:他们使用Mint 18,我正在使用Debian Stretch.

OpenJDK是写作时回购的最新版本:9~b181-4~bpo9 + 1.即使是相同的版本,它仍然不适用于我的情况.

编辑:另一个可能的重复:intellij想法没有看到Java 9标准类

我不明白这些评论的答案.尝试为JDK(9和1.9)设置不同的名称,但它仍然没有显示模块而不是类路径,类路径仍为空.



1> Kayvan Tehra..:

目前的debian二进制包openjdk-9-jre-headless 9~b181-4包含错误编译的lib/jrt-fs.jar文件.
对于youtrack和ubuntu启动板都有2个问题.

正如这里所示:

可能的原因:
lib/jrt-fs.jar中的类是由Java 9编译的,带有选项"-source 8"/"target 8".它们应该用"--release 8"选项编译(或者用Java 8编译)

临时解决方法可以替换/usr/lib/jvm/java-9-openjdk-amd64/lib/jrt-fs.jar与来自所述一个的Oracle JDK.
您也可以尝试使用建议选项" --release 8 " 重新编译openjdk-9源代码.

无论如何,我建议在上述链接上对此问题进行投票,以吸引开发团队的更多关注.


哇这仍然没有修复.

2> Makoto..:

现在使用Oracle Java而不是OpenJDK.您可以通过WebUpd8的存储库获取它.

sudo add-apt-repository ppa:webupd8team/java &&
sudo apt-get update &&
sudo apt-get install oracle-java9-installer

看起来这不适用于OpenJDK,所以如果你想玩最新最好的Java,那么这就是现在的方法.否则,从我所看到的,你已经正确地做到了这一点,一旦实际修复,它将正常工作.


推荐阅读
author-avatar
落了个小妞农_602
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有