Выбранный каталог не является домом для JDK - Intellij IDEA на Ubuntu

После установки Intellij Idea 14 с OracleJDK 1.8 u25 (64 бит) в моей системе 14.04 Ubuntu я не могу настроить Java SDK для использования любого JDK. Когда я перейду к настройкам модуля- > SDK и нажмите "Настройка SDK", кнопку "Добавить", а затем выберите /usr/java/jdk1.8.0_25 в диалоговом окне, я получаю всплывающее окно с сообщением о том, что "выбранный каталог не является допустимым домом для JDK".

Я проверил содержимое каталога, в котором содержится bin папка с java и javac внутри, папка lib и jre.

Я попытался выбрать каждого из них по очереди, но безрезультатно, чего я ожидал.

Ответ 1

Эван Ноулз опубликовал ссылку на https://askubuntu.com/questions/130186/what-is-the-rationale-for-the-usr-directory. Это дало мне решение проблемы.

Вместо использования JDK в /usr/java/jdk1.8.0_25 вместо этого я использовал JDK в /usr/local/java/jdk1.8.0_25. Причины, по которым это работает, а не другие, подробно описаны в ссылке.

Ответ 2

У меня была та же проблема, в моем случае я не смог выбрать ни один из каталогов openjdk в /usr/lib/jvm/, я решил с помощью:

sudo apt-get install openjdk-8-jdk

При перезапуске intellij автоматически найдет путь к jdk.

Ответ 3

Тем, кто сталкивается с этой проблемой, хотя вы выбираете правильный каталог в /usr/lib/jvm, есть кое-что, что вы должны знать: каталоги в /usr/lib/jvm создаются, когда ваша система устанавливает минимальный набор инструментов Java., Но это не значит, что у вас есть файлы для разработки. Вам необходимо установить файлы разработки:

dnf install java-1.8.0-openjdk-devel

После установки этого пакета, попробуйте выбрать каталог снова, и он должен работать.

Ответ 4

но это безумие... если вы хотите использовать OpenJDK 11, 12 или 13, как мы можем сделать это тогда?

Ответ 5

Я столкнулся с этой ошибкой, потому что у меня не был установлен JAVA_HOME.

Добавление export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 (для openjdk 11 в моем случае) и export PATH=$JAVA_HOME/bin:$PATH в мой ~/.bashrc с последующим запуском source ~/.bashrc решил проблему для меня.