无法在IntelliJ IDEA中设置JDK路径。

我正在尝试使用IntelliJ IDEA开始工作,但是我无法设置JDK路径。`which java`返回/usr/bin/java,但是IDEA无法找到指定的路径。在IDEA中展开树形结构中的bin显示了一个无限的X11树。我还尝试了/usr/share/java,但是出现了一个错误:“指定的路径不是JDK的目录”。 我该如何设置JDK路径?
3个回答

错误信息非常清楚:
指定的路径不是JDK的目录。
`/usr/bin/java` 不是JDK的目录,它是用于运行编译后的Java程序(`.class`文件)的命令。
要在IntelliJ中设置JDK,请转到项目结构,在平台设置部分选择SDKs,然后添加JDK的路径。通常在Ubuntu上,JDK安装在/usr/lib/jvm/目录下。之后,在项目设置部分选择项目选项卡,最后选择添加的JDK。

enter image description here


我的系统上不存在usr/lib/jvm。 - Anuraag Baishya
1@AnuraagBaishya 你用了什么方式安装JDK?还告诉我 echo $JAVA_HOME 命令会打印什么。 - Anton Dozortsev
我使用webupd8 ppa安装了Java。而且echo $JAVA_HOME没有返回任何内容。问题是IDEA不工作,然而基于IDEA的Android Studio却完美运行。 - Anuraag Baishya
@AnuraagBaishya 你在Android Studio的screenshot部分有任何配置吗?如果有,请在IntelliJ中添加相同的配置。 - Anton Dozortsev
@AnuraagBaishya 你说你的系统上不存在 /usr/lib/jvm 这个文件夹,这真是非常奇怪。根据这个 **指南**,你的JDK应该位于 /usr/lib/jvm/java-8-oracle 文件夹下。 - Anton Dozortsev
2你需要下载一个Oracle JDK - 解压tar.gz文件并将项目SDK指向解压后的目录。 - Kirill Mikhailov
在使用/usr/lib/jvm/java-8-openjdk-amd64/opt/java/jdk-10.0.2文件夹中的JDK是否有所区别?此外,我在我的/etc/environment文件中找到了JAVA_HOME路径:JAVA_HOME="/opt/java/jdk-10.0.2/bin"。当我按照上述帖子建议设置JAVA_HOME路径时:JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")并执行echo $JAVA_HOME时,我得到的是/usr/lib/jvm/java-8-openjdk-amd64/jre/。这两个JAVA_HOME路径有何不同之处,我做错了什么?有没有关于如何修复的建议?另外,我没有权限编辑/etc/environment文件。 - Anu

我正在使用Ubuntu 18.04 LTS和最新的IDEA 2019.2。
我遇到了同样的问题,并通过安装几个openjdk软件包来解决它。 仅仅安装"openjdk-8-jdk"是不够的。
对于OpenJDK 8(1.8),您需要安装:
sudo apt install openjdk-8-demo openjdk-8-doc openjdk-8-jdk openjdk-8-source

对于OpenJDK 11:
sudo apt install openjdk-11-demo openjdk-11-doc openjdk-11-jdk openjdk-11-source

然后两个SDK都被正确识别(选择/usr/lib/jvm/文件夹下的一个子文件夹)。

由于Oracle JDK不再像以前那样免费使用,更不用说旧的答案已经过时了,所以这个答案现在非常有帮助。 - matanster
太棒了!非常感谢你的回答。 - plpm

正如基里尔·米哈伊洛夫所指出的那样,我用Oracle JDK替代已安装的Open JDK后,问题得以解决。我正在使用Intelij 2017.2 CE版本。

问题出在Linux找不到正确的文件夹,原因是某种原因,我安装了Oracle JDK。另外,IntelliJ与Open JDK同样适用。这个问题早就解决了 :) - Anuraag Baishya
是的,切换到Oracle Java 8也解决了我的问题。 - Dipen