Плагин IntelliJ Gradle: предоставленный javaHome кажется недействительным

98

Подобно:
- Intellij 14, предоставленный javaHome кажется недействительным
- Android Studio - предоставленный javaHome не является допустимой папкой

Однако я пытаюсь использовать свою JAVA_HOMEпеременную, для которой установлено значениеC:\Program Files\Java\jdk1.8.0_40

Я не понимаю, почему intellij ищет JDK внутри своего установочного каталога.

В intellij:

Executing external task 'bootRun'...
The supplied javaHome seems to be invalid. I cannot find the java executable. Tried location: C:\Program Files (x86)\JetBrains\IntelliJ IDEA 14.1\jre\bin\java.exe
External task execution finished 'bootRun'.

C:\>java -version
java version "1.8.0_40"
Java(TM) SE Runtime Environment (build 1.8.0_40-b25)
Java HotSpot(TM) 64-Bit Server VM (build 25.40-b25, mixed mode)

C:>env
...
JAVA_HOME=C:\Program Files\Java\jdk1.8.0_40
...
Эрик Фрэнсис
источник

Ответы:

76

IDEA поставляется в двух версиях: 32-битной и 64-битной.

У вас JAVA_HOME64-битная версия Java, поэтому вам нужно запустить 64-битную версию IDEA ...\IntelliJ\IntelliJ IDEA Community Edition 14.1.2\bin\idea64.exe.

В противном случае вы можете предоставить 32-битный JDK или настроить поведение с помощью настроек IDEA https://intellij-support.jetbrains.com/hc/en-us/articles/206544879-Selecting-the-JDK-version-the-IDE-will- обкатка

Сергей Печеницкий
источник
5
Сегии был прав насчет моей проблемы. Но ИМХО проблема в установщике Intellij. У него должен быть вопрос, позволяющий выбрать из 32-битных (Idea.exe) или 64-битных (idea64.exe) исполняемых файлов. Кроме того, установщик должен иметь возможность проверить вашу систему и определить, является ли она 32-битной или 64-битной ОС, и выбрать соответствующий .EXE по умолчанию. Это гарантирует, что любые ярлыки, созданные установленным, указывают на наиболее вероятную правильную версию.
JerryKur
После установки мой ярлык IntelliJ Idea указывал на 32-битный exe. Я обновил ярлык, и проблема была решена.
Уилл Колдервуд
Как ни странно, 64-битный IdeaJ не запускается.
arviman
это ни на что не отвечает, иди, почему это основной ответ. тот, что ниже, намного лучше.
bharal
207

В моем случае ответы выше не сработали. Вот что сработало для меня: мне нужно было изменить JVM Gradle, чтобы он указывал на фактический JDK: Изображение, показывающее окно настроек IntelliJ

измученный
источник
4
Я думаю, что это единственный ответ, который на самом деле имеет отношение к «плагину intellij gradle». Все остальные ответы неуместны.
SOFe
Вы палочка-выручалочка!
Esen Mehmet
34

Попробуйте вручную установить JDK из File > Project Structure > Project > Project SDK, затем перестройте.

Mushfek0001
источник
14

Это можно исправить, установив для Project SDK в настройках модуля значение JDK (в отличие от SDK модуля (который должен быть Android SDK).

user39950
источник
Это загоняло меня на дерево! Однако ваш ответ прекрасно объяснил все: Gradle пытался найти java.exe в Android SDK (как будто!).
JoeHz
в моем случае этот ответ решил мою проблему, спасибо за ответ!
mergenchik
11

Я попробовал это, и у меня это сработало безупречно. перейдите в НАСТРОЙКА -> ПОИСК 'Gradle' ---> и выберите Gradle JVM и выберите вариант Использовать JAVA_HOME C: \ ProgramFiles \ Java \ JDK \ 1.8, надеюсь, это кому-то поможет.

maheshmnj
источник
9

Я решил эту проблему, поместив файл gradle.properties в тот же каталог, что и build.gradle, с точным путем к моему JDK:

org.gradle.java.home = C:/Dev/JDK

На самом деле это неправильное решение, возможно, его следует исправить в IDE, я вижу в журналах IDEA что-то вроде (когда я выполняю задачу gradle уже импортированного проекта):

INFO - s.plugins.gradle.GradleManager - Instructing gradle to use java from C:/Dev/JDK

Но когда я собираюсь импортировать модуль gradle в проект, я не вижу такого сообщения, вероятно, IDEA передает ссылку на связанный JRE, который на самом деле не является JDK.

4ndrew
источник
4

Проблема заключается в самой Intellij IDEA. Если вы перейдете в установленный каталог Intellij, вы найдете каталог jre, в котором он ищет вышеупомянутый java.exe . Но проблема здесь в том, что здесь нет каталога bin, а доступен другой каталог jre, поэтому решение заранее. скопируйте все содержимое из внутреннего каталога jre и поместите его во внешний каталог jre .

Прадьюмна Суэйн
источник
2

ОБНОВЛЕНИЕ Я считаю, что эта проблема исправлена ​​с версии 14.1.3.

Ссылки на связанные ошибки:

Тем не менее, я смог использовать ответ @Sergii Pechenizkyi; однако похоже, что у этой проблемы есть несколько разных решений.

Эрик Фрэнсис
источник
2

В OSX 10.12.x, Intellij v16.3 мне пришлось зайти в:

  1. ~ / Библиотека / Настройки / IntelliJIdea2016.3
  2. Создайте файл с именем idea.jdk
  3. Добавьте к нему следующее: /Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk (или любой другой JDK, который вы установили

Это было исправление, которое мне пришлось сделать в версии 16 Intellij, найденной на сайте jetbrains. В какой-то момент мне пришлось удалить его, при обновлении до 16.3 мне пришлось добавить его обратно. https://intellij-support.jetbrains.com/hc/en-us/articles/206544879-Selecting-the-JDK-version-the-IDE-will-run-under

dkochheiser
источник
2

Я столкнулся с одной и той же проблемой довольно долгое время, и сколько бы форумов я ни просматривал, она не решала проблему.

Короче говоря, я обнаружил, что мой антивирус поместил файл java.exe в карантин. Поэтому я советую вам открыть антивирус и восстановить файл Java.exe, а затем перезапустить студии Android.

Хайдер Малик
источник
1

У меня сработало обновление IntelliJ UE с v14.1.1 до 14.1.7.

user6718911
источник
1

Он не работает на Mac с версии 16.3. SDK был правильно установлен в настройках проекта, и диалоговое окно Gradle больше не позволяет вам выбирать JDK. Единственное, что сработало, - это создание файла gradle.properties.

user7369766
источник
1

в IntelliJ 2018.1 я столкнулся с этой проблемой, потому что в моем SDK проекта был установлен Kotlin, а не JDK. Таким образом, несмотря на наличие проекта Kotlin, он будет построен только в том случае, если SDK является JDK.

Кристофер Норонья
источник
0

После попытки всего вышеперечисленного у меня ничего не сработало. Затем я посмотрел, верен ли путь «Использовать проект jdk» для java. Чтобы посмотреть его в File-> settings-> gradle-> gradle jvm, я обнаружил, что jdk обновился, а gradle использует старую версию jdk. Итак, решение заключалось в обновлении пути Project jdk для java в intellij. Файл-> структура проекта-> Настройка платформы-> SDK , здесь обновите свой правильный путь jdk. таким образом проблема была решена для меня.

Аканкша гор
источник