所选目录不是JDK的有效主目录 - 在Ubuntu上使用Intellij IDEA

50

在我的14.04 Ubuntu系统上,安装了OracleJDK 1.8 u25(64位)和Intellij Idea 14后,我无法配置Java SDK以使用任何JDK。当我导航到Module Settings-> SDK并单击配置SDK、添加按钮,然后在对话框中选择/usr/java/jdk1.8.0_25时,我会收到一个错误弹出窗口,指出“所选目录不是JDK的有效主目录”。

我已检查该目录的内容,其中包含一个带有javajavacbin文件夹、一个lib文件夹和一个jre文件夹。

我尝试依次选择它们,但都无济于事,这正如我所预料的。


3
IntelliJ有读取那个文件夹的权限吗? - Evan Knowles
2
这可能会有所帮助:http://askubuntu.com/questions/130186/what-is-the-rationale-for-the-usr-directory - Evan Knowles
2
@Evan 谢谢!这为我的问题提供了一个解决方案。我已经发布了一个答案,附带了我使用的方法。 - Andrew Schade
2
嘿,大家干得好! - Evan Knowles
2
请检查您是否安装了JDK(而不仅仅是JRE):sudo apt-get install openjdk-8-jdk。 - Remy Mellet
显示剩余2条评论
4个回答

76
我遇到了同样的问题,在我的情况下,我无法选择/usr/lib/jvm/目录下的任何一个"openjdk"目录,我用以下方法解决了它:

sudo apt-get install openjdk-8-jdk

重新启动IntelliJ时,它会自动找到JDK的路径。

3
在Ubuntu 16.04上,我没有/usr/local/java/文件夹。但是,对于我的情况,这个方法还是有效的。这么做后,我就可以在IJ中选择/usr/lib/jvm/java-1.8.0-openjdk-amd64了。 - ferahgo
1
在Ubuntu 18.04上使用openjdk-8-jdk工作,现在可以选择文件夹。 - kit
2
适用于Ubuntu 16.04。 - Ashutosh Chamoli
适用于Debian 9 Stretch,现在可以选择文件夹。 - ColdFire
谢谢,救了我的一天!适用于Ubuntu 18.04.4 LTS和Intellij Idea Community Edition 2019 3.4。 - Marino
Ubuntu 20.04和IntelliJ IDEA 2020也可以使用。谢谢! - Dulkith

26

对于那些即使在/usr/lib/jvm下选择了正确的目录仍然遇到此问题的人,有一些你应该知道的事情:在/usr/lib/jvm下的目录是在系统安装最少量的Java工具时创建的。但这并不意味着你拥有可用的开发文件。你需要安装开发文件:

sudo apt-get install java-1.8.0-openjdk-devel
安装完这个软件包后,再尝试重新选择目录,然后应该就可以工作了。

3
如果你想安装任何JDK8+,这一点尤其重要,感谢@vdegenne。 - Zarathustra

11

3

我遇到了这个错误,因为我没有设置JAVA_HOME

在我的~/.bashrc中添加export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64(对于我的openjdk 11)和export PATH=$JAVA_HOME/bin:$PATH,然后运行source ~/.bashrc解决了我的问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接