Плагін 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
Сегі мав рацію щодо мого питання. Але проблема IMHO полягає в установці Intellij. У ньому повинно виникнути питання, яке давайте виберемо з 32-бітових (Idea.exe) та 64-бітових (idea64.exe) виконавчих файлів. Крім того, інсталятор повинен мати можливість перевірити вашу систему та визначити, чи є вона 32-х або 64-бітовою ОС та вибрати відповідну .EXE за замовчуванням. Це забезпечило б будь-які ярлики, створені встановленою, вказували на ймовірно правильну версію.
JerryKur

Після встановлення, мій ярлик IntelliJ Idea вказував на 32-бітний exe. Я оновив ярлик, і це вирішило проблему.
Уїлл Калдервуд

Дивно, 64-бітний IdeaJ не запускається.
арвіман

це нічого не відповідає, ідк, чому це головна відповідь. той, що нижче, набагато краще.
бхарал

207

У моєму випадку відповіді вище не спрацювали. Ось що для мене працює: мені потрібно було змінити JVM Gradle, щоб вказати на фактичний JDK: Зображення із вікном налаштувань IntelliJ


4
Я думаю, що це єдина відповідь, яка насправді пов'язана з "плагіном Intellij gradle". Усі інші відповіді не мають значення.
SOFe

Ви рятівник!
Есен Мехмет

33

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


14

Це можна виправити, встановивши Project SDK у налаштуваннях модуля на JDK (на відміну від SDK модуля (який має бути SDK для Android )


Це водило мене до дерева! Хоча у вашій відповіді було все зрозуміло: Gradle намагався знайти java.exe в SDK для Android (ніби!).
JoeHz

у моєму випадку ця відповідь вирішила мою проблему, дякую за вашу відповідь!
mergenchik

11

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


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.


4

Проблема полягає в самому Intellij IDEA. Якщо ви перейдете до встановленого каталогу Intellij, ви знайдете каталог jre, де він шукає вищевказаний java.exe . Але проблеми тут немає каталогу бін, а замість цього є інший каталог jre. Отже , рішення наперед. скопіюйте весь вміст із внутрішнього каталогу jre та покладіть його у зовнішній каталог jre .


2

ОНОВЛЕННЯ Я вважаю, що це питання було виправлено станом на 14.1.3

Пов’язані помилки:

Це сказало, що мені вдалося отримати, використовуючи відповідь @ Сергія Печенізького; однак, схоже, ця проблема має кілька різних рішень.


2

На OSX 10.12.x, Intellij v16.3 мені довелося перейти:

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

Це було виправлення, що мені довелося зробити в v16 Intellij, знайденому на сайті jetbrains. Одного разу мені довелося його видалити, після оновлення до 16.3 мені довелося додати його назад. https://intellij-support.jetbrains.com/hc/en-us/articles/206544879-Selecting-the-JDK-version-the-IDE-will-run-under


2

Я досить довго стикався з тією ж проблемою, і скільки б на форумах я не переглянув цю проблему, це не вирішило.

Коротше кажучи, я дізнався, що мій антивірусний карантин піддався файлу java.exe. Тому я раджу відкрити антивірус і відновити файл Java.exe, а потім перезапустити андроїд-студії.



1

Він не працює на Mac станом на 16.3. SDK був встановлений правильно в Налаштуваннях проекту, і діалогове вікно Gradle більше не дозволяє вибрати JDK. Єдине рішення, яке працювало - це створити файл gradle.properties.


1

в IntelliJ 2018.1 я зіткнувся з цією проблемою, оскільки мій SDK проекту був встановлений у Kotlin замість JDK. Тож, незважаючи на проект Котліна, він би будувався лише в тому випадку, якщо SDK є JDK.


0

Перепробувавши вищезазначене рішення, мені нічого не вийшло. Тоді я подивився, чи правильний шлях "використання проекту jdk" для Java. Щоб переглянути його у розділі Файл-> налаштування-> gradle-> gradle jvm, я виявив, що jdk оновився, а gradle використовує стару версію jdk. Отже, рішенням було оновити шлях jdk Project для java in intellij. Файл-> структура проекту-> Налаштування платформи-> SDK , тут оновіть правильний шлях до jdk. таким чином проблема вирішилася для мене.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.