Intellij Gradle 终端报错:JAVA_HOME 未设置。

11
在IntelliJ IDEA中,使用Gradle窗口可以执行任何Gradle任务。但是,当我尝试通过IDE中的终端窗口执行相同的任务时,会出现以下错误:
ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.

Please set the JAVA_HOME variable in your environment to match the
location of your Java installation.

使用gradle和gradlew时会出现此问题。在IntelliJ中 -> 文件 -> 项目结构 -> 项目,然后将SDK正确设置为1.8。有关解决此问题以便可以使用终端执行Gradle任务的任何建议都将不胜感激。


JAVA_HOME变量设置为您安装的根目录。 在Linux上,它将从/usr/lib/jvm开始,尝试/usr/lib/jvm/default-java。 在macOS / OS X上,它将从/Library/Java/System/Library/Java开始。 在Windows上,它将从C:\Program Files\JavaC:\Program Files (x86)\Java开始。 - Top Sekret
出于好奇,您有任何想法为什么在未设置JAVA_HOME的情况下从IntelliJ的Gradle窗口执行任务会起作用? - hoobaka
IntelliJ可以在内部设置这个环境,虽然在Windows上很难由用户更改,但可以通过一次调用setenvputenv来更改。我曾经为了好玩写过一个IDE(不要问我要它,它非常丑),为Gradle设置了这样的变量。 - Top Sekret
如果您已经正确地执行了所有步骤,但仍无法正常工作,请尝试重新启动计算机。 - user12200634
当我将JAVA_HOME路径设置为JAVA_HOME=/usr/lib/jvm/<your-jdk-version>时,错误消失了并且gradlew可以工作,对我来说特别是export JAVA_HOME=/usr/lib/jvm/jdk-14.0.1/,参考@TopSekret的评论。 - aspiring1
3个回答

14

前往Java安装目录 (C:\Program Files\Java\jdk ********),并复制地址文件。右键单击“我的电脑”,选择“属性”或前往“控制面板>系统和安全>系统”。选择“高级系统设置”,然后点击“环境变量”按钮。点击系统变量,新建,将变量名写为“JAVA_HOME”,将变量值写为Java安装文件夹地址,然后点击“确定”完成操作。


3
这个答案是针对Windows平台的,我没有看到原问题提到操作系统。 - Klinki
2
那又怎样?它比被接受的更好地帮助了许多人。 - Dmitry Smolyaninov
完成后别忘了重新启动你的Idea/Android Studio。 - D.M.

5
你需要设置一个环境变量才能使其工作。你可以在命令行中输入以下命令:
export JAVA_HOME=<PATH to your Java Home>

或者您可以将该行放入您的.rc文件中。在Mac上,您可以这样做:

export JAVA_HOME=`/usr/libexec/java_home`

更多信息可以在这里找到:http://javarevisited.blogspot.com/2012/02/how-to-set-javahome-environment-in.html


该链接提供了关于如何设置Java环境变量的详细说明。

2
谢谢。我正在使用Windows系统,所以将“export”更改为“set”,一切都很好。 - hoobaka

0

我的回答是针对在Windows上安装Ubuntu应用程序的情况。因此,在Windows上,我可以运行Ubuntu终端。我的Android Studio安装在Windows上。我尝试从Ubuntu终端运行gradle。我尝试通过Ubuntu终端将JAVA_HOME设置为多个地址:

export JAVA_HOME=/mnt/c/...

但是没有任何帮助,包括Ubuntu提供的java地址(“whereis java”命令):

/usr/share/java

然后我只是使用Windows终端(命令提示符)做了同样的事情。Gradle工作了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接