IntelliJ Gradle插件:提供的javaHome似乎无效


98

类似的:
- 的IntelliJ 14所提供的JAVAHOME似乎是无效的
- Android的工作室-提供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
...

Answers:


76

IDEA有2个版本:32位和64位。

JAVA_HOME的Java是64位版本,因此您必须运行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
Segii对我的问题是正确的。但是恕我直言,问题出在Intellij安装程序中。它需要有一个问题,让我们从32位(Idea.exe)和64位(idea64.exe)可执行文件中进行选择。另外,安装程序应该能够检查您的系统并确定它是32位还是64位操作系统,并选择适当的.EXE作为默认值。这样可以确保安装程序创建的任何快捷方式都指向可能正确的版本。
JerryKur 2015年

安装后,我的IntelliJ Idea快捷方式指向32位exe。我更新了快捷方式,从而解决了问题。
Will Calderwood

很奇怪,64位的IdeaJ无法启动。
arviman

这没有任何答案,idk为什么是主要答案。下面的一个要好得多。
bharal

207

就我而言,上述答案无效。这对我有用:我需要更改Gradle JVM以指向实际的JDK: 该图显示了IntelliJ Settings窗口


4
我认为这是实际上与“ intellij gradle插件”有关的唯一答案。所有其他答案均无关紧要。
SOFe

你是救星!
Esen Mehmet

33

尝试从中手动设置JDK File > Project Structure > Project > Project SDK,然后重新构建。


14

可以通过将“ 模块设置”中的Project SDK设置为JDK(而不是Module SDK(应为Android SDK))来解决。


这把我逼上了树!您的答案完全理解了这一点:Gradle一直试图在Android SDK中找到java.exe(好像!)。
JoeHz '16

就我而言,此答案解决了我的问题,谢谢您的回答!
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,而该捆绑的JRE实际上不是JDK。


4

问题出在Intellij IDEA本身。如果转到Intellij安装目录,则会在jre目录中搜索上述java.exe。但是这里的问题是这里没有bin目录,而是另一个jre目录可用,因此解决方案是前期的。复制内部jre目录中的所有内容,并将其放在外部jre目录中。



2

在OSX 10.12.x,Intellij v16.3上,我必须进入:

  1. 〜/库/首选项/IntelliJIdea2016.3
  2. 创建一个名为:idea.jdk的文件
  3. 向其中添加以下内容:/Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk(或任何已安装的JDK

这是我在jetbrains网站上发现的Intellij v16中必须做的修复。曾经我不得不将其删除,在升级到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文件,然后重新启动android studio。



1

从16.3开始,它在Mac上不起作用。在“项目设置”中正确设置了SDK,并且“ Gradle”对话框不再允许您选择JDK。唯一有效的解决方案是创建gradle.properties文件。



0

在尝试了上述所有解决方案之后,对我没有任何帮助。然后,我查看了Java的“使用项目jdk”路径是否正确。在File-> settings-> gradle-> gradle jvm下查看它, 我发现jdk已更新,并且gradle使用的是旧的jdk版本。因此,解决方案是为intellij中的Java更新Project jdk路径。 File-> project structure-> Platform setting-> SDK,在这里更新您正确的jdk路径。这样问题就为我解决了。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.