gradle在Intellij中不起作用 - 与JAVA_HOME有关

And*_*rew 27 intellij-idea gradle

  • 我可以从命令行运行gradle来查看它的版本.
  • 我可以在IntelliJ(版本10.0或版本10.2)中运行,编译和调试grails应用程序
  • 我安装了IntelliJ Gradle插件.

每当我尝试使用Intellij中的gradle做任何事情时,我都会收到如下错误:

Executing command: "tasks"
Failed to connect to gradle process for command 'tasks'

ERROR: JAVA_HOME is set to an invalid directory: C:\Program Files (x86)\JetBrains\IntelliJ IDEA 10.0\jre

Please set the JAVA_HOME variable in your environment to match the
location of your Java installation.
Run Code Online (Sandbox Code Playgroud)

但是在我的环境中,我已经JAVA_HOME在不同的目录中设置了正确的JDK.此外,当我查看IntelliJ项目时,它还会在正确的JDK位置显示JDK.我找不到任何试图将JDK指向Intellij JRE位置的东西.

有什么想法吗?

Cha*_*oza 26

IntelliJ使用自己的jre.

要强制IntelliJ使用它,您需要将环境变量设置IDEA_JDK为指向JDK.

然后只需重新启动intellij和gradle gui插件就可以了.

  • 不行.Intellij的Gradle仍尝试使用旧路径,即使JAVA_HOME和IDEA_JDK指向正确的位置. (2认同)
  • 添加**BOTH**`IDEA_JDK`和`JAVA_HOME`作为环境变量,都指向JDK,可以正常工作. (2认同)

Kyl*_*ner 12

男人我也有这么多麻烦,我不记得以前遇到过这么多麻烦.我认为他们改变了一些东西 以下是在Mac OS X 10.11.5上为我工作的咒语,包括IntelliJ 2016.1上的Java和Gradle

以下是摘要:从Oracle安装最新的Java JDK,将java_home值添加到$ JAVA_HOME并将该值设置为$ IDEA_HOME(用于定义要使用的JDK的IntelliJ变量),使用自制软件安装gradle(可选),然后定义项目SDK在IntelliJ中.

在这里,它从一个干净安装的最开始分解:

1.从Oracle的下载页面下载Java

2.使用自制程序安装gradle

IntelliJ附带了自己的Gradle版本,因此这是非常可选的,如果您想在IntelliJ之外使用Gradle,这将非常有用.

`brew update && brew install gradle`
Run Code Online (Sandbox Code Playgroud)

3.设置env变量

将以下内容粘贴到~/.profile.无论您安装的是哪个版本的Java或gradle,这些值都将起作用.如果未安装独立的gradle,请不要设置GRADLE_HOME.

export JAVA_HOME=$(/usr/libexec/java_home)
export IDEA_JDK=$JAVA_HOME
export GRADLE_HOME=/usr/local/opt/gradle/libexec
Run Code Online (Sandbox Code Playgroud)

4.将环境变量设置为在应用程序启动时发生,以便IntelliJ看到正在使用OS X的launchctl程序:

launchctl setenv JAVA_HOME $(/usr/libexec/java_home)
Run Code Online (Sandbox Code Playgroud)

5.定义项目SDK

使用IntelliJ中的项目设置窗口来定义项目SDK(我没有在全局IntelliJ首选项窗口中的任何其他位置看到此选项,这必须在项目设置中完成).

项目设置

6.等待索引更新,然后关闭并重新打开IntelliJ.您现在应该能够构建该程序.