Intellij Idea: Импорт проекта Gradle - получение JAVA_HOME еще не определено


335

Intellij Idea 14.1.4 Mac OS X Yosemite 10.10.3 и выше.

Из IDE:

Import Project ->
(Chosen directory to import) ->
Import project from external model, Gradle ->
Gradle Home: /usr/local/Cellar/gradle/2.4/libexec
Gradle JVM: Use JAVA_HOME (not defined yet)

Из оболочки:

echo $JAVA_HOME

/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home

(определено в .profile: export JAVA_HOME = "$ (/ usr / libexec / java_home -v 1.8)"

Чего мне не хватает Я проверил другие обсуждения в SO, например, переменную Intellij JAVA_HOME , но у меня нет приглашения Project SDK.


1
Та же проблема на Linux, то же решение.
SparK

Возможный дубликат переменной Intellij JAVA_HOME
user123444555621

Ответы:


670

Вам нужно настроить SDK для проектов Java, как сказал @rizzletang, но вам не нужно создавать новый проект, вы можете сделать это с Welcomeэкрана.

В правом нижнем углу выберите Configure > Project Defaults > Project Structure: введите описание изображения здесь

Выбор Projectвкладки слева покажет, что у вас не выбран SDK:

введите описание изображения здесь

Просто нажмите New...кнопку с правой стороны раскрывающегося списка и укажите его на свой JDK. После этого вы можете вернуться к экрану импорта, и он должен просто появиться.


31
После того, как я щелкнул «JDK» из выпадающего меню, я просто принял папку по умолчанию (Home). Затем я принял значения по умолчанию для этого каталога (при открытии). Интеллий много думал ... и, похоже, это сработало. Спасибо!
Скотт Биггс

3
Спасибо!!! Действительно смешно, что так сложно начать работу с первым проектом Java / Gradle с IntelliJ. Я имею в виду, что если intelliJ может запуститься, он ДОЛЖЕН уже знать что-то о том, что java устанавливается в системе, почему бы не добавить этот java уже по умолчанию ... может быть, некоторые из их разработчиков будут заботиться однажды.
Хеннинг

Большой! Кстати, если у вас есть открытый проект, к диалоговому окну «Структура проекта по умолчанию ...» можно перейти через «Файл»> «Другие настройки».
DKroot

2
Люди IntelliJ должны получать оплату по количеству кликов, которые они заставляют вас пройти. Нет никакой другой причины скрывать простую и важную настройку под 5 уровнями неясности, если, конечно, они не конкурируют с Microsoft за награду самого лучшего продукта года.
Абхиджит Саркар

36

Если вы хотите, чтобы ваш JAVA_HOME распознавался intellij, вы можете сделать одно из следующих:

  • Начните свой intellij из терминала / Applications / IntelliJ IDEA 14.app/Contents/MacOS (это выберет ваши переменные bash env)
  • Добавьте логин env-переменной, выполнив: launchctl setenv JAVA_HOME "/Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home"

Как уже отвечали другие, вы можете игнорировать JAVA_HOME, настроив SDK в структуре проекта.


1
Этот пост в блоге дает больше информации о launchctl и о том, как определенные места .launch.conf не рекомендуется для более новых MacOS. dowdandassociates.com/blog/content/…
Джордж Пантазес

5

Для платформы Windows :

попробуйте запустить 64-битную версию IntelliJ exe по пути, подобному следующему.

обратите внимание, что он доступен рядом с default idea

"C: \ Program Files (x86) \ JetBrains \ IntelliJ IDEA 15.0 \ bin \ idea 64 .exe"

ссылка на сайт


Советы о том, как установить это на окнах, не будут очень полезными, учитывая, что этот вопрос относится к другой платформе.
Conrad.Dean

2
@ Конрад. Дин, ты прав. но я в конечном итоге здесь при поиске той же ошибки в Windows, и это может помочь кому-то в аналогичном случае. в любом случае спасибо за комментарий
Иман

3

Просто чтобы добавить полноты к выбранному выше ответу, можно также открыть окно «Настройки проекта» (если не на экране приветствия) в IntelliJ IDEA, нажав:

Файл> Структура проекта (Ctrl + Alt + Shift + S)

И можете определить Project SDK там!


1

Убедитесь, что у вас есть настройки JDK. Для этого создайте новый проект, а затем перейдите в файл -> структура проекта. Оттуда вы можете добавить новый JDK. После настройки вернитесь к своему проекту Gradle, и у вас должен быть JDK для выбора в поле «Gradle JVM».


1

Для MacOS это работало для меня без необходимости жестко задавать конкретную версию Java:

launchctl setenv JAVA_HOME "$(jenv javahome)"

Фактическая команда работала для меня % launchctl setenv JAVA_HOME/usr/libexec/java_home
Vagif

0

Попробуйте запустить IntelliJ из терминала. Вы можете найти файл приложения в: / Applications / IntelliJ \ IDEA \ 14.app/Contents/MacOS


Это работает, но если я не хочу запускаться из оболочки, где тогда установить IDEA_JDK?
JohnyTex
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.