Gradle 获取错误的 JAVA_HOME 值

Posted

技术标签:

【中文标题】Gradle 获取错误的 JAVA_HOME 值【英文标题】:Gradle get wrong JAVA_HOME value 【发布时间】:2022-01-01 23:06:45 【问题描述】:

我尝试运行“离子电容器运行”。它是一个离子 5 电容器项目。

Java 安装在 c:\Program Files\Java\jdk1.8.0_311 和 c:\Program Files\Java\jre1.8.0_311。

当我将 JAVA_HOME 设置为 C:\Program Files\Java\jdk1.8.0_311\bin 时出现此错误:

ERROR: JAVA_HOME is set to an invalid directory: C:\Program Files\Java\jdk1.8.0_311\bin
[capacitor]         Please set the JAVA_HOME variable in your environment to match the
[capacitor]         location of your Java installation.

当我设置为 C:\Program Files\Java\jdk1.8.0_311(没有 \bin 后缀)时,我收到了这个错误:

[capacitor]         FAILURE: Build failed with an exception.
[capacitor]
[capacitor]         * What went wrong:
[capacitor]         Supplied javaHome must be a valid directory. You supplied: C:\Program Files\Java\jdk-16.0.2

1.16版本之前安装的但是我卸载安装了1.17。 最后我得到了 1.8,因为我有一个 Ionic 4 cordova 项目,它不适用于 Java 1.17。

我卸载/重新安装了 Java,在用户和/或系统设置中设置环境变量并重新启动了几次 windows,但我仍然不知道这个 C:\Program Files\Java\jdk-16.0.2 值来自哪里.

我的 Ionic4 (cordova) 项目运行良好,可以找到正确的 JAVA_HOME 值并可以构建应用程序。

【问题讨论】:

【参考方案1】:

首先从echo %JAVA_HOME%echo %PATH%开始,看看你当前的Java JDK在环境和路径中也设置了什么。

设置环境值时使用C:\Program Files\Java\jdk1.8.0_311不要添加路径中包含的\bin,设置路径C:\Program Files\Java\jdk1.8.0_311\bin%JAVA_HOME%\bin,从第一个开始测试。

!重要的是参考系统变量的路径,不要将它与用户变量路径混淆

更改环境值和路径保存并应用的值后,打开一个新终端以使新更改生效,然后再次运行 echo %JAVA_HOME%echo %PATH% 如果正确。

【讨论】:

echo %JAVA_HOME% 显示 C:\Program Files\Java\jdk1.8.0_311。有趣的是,第二个错误提到 javaHome 而不是 JAVA_HOME

以上是关于Gradle 获取错误的 JAVA_HOME 值的主要内容,如果未能解决你的问题,请参考以下文章

Gradle - 获取依赖项的最新发布版本

gradle记录

Intellij Idea:导入 Gradle 项目 - 尚未定义 JAVA_HOME

通过 Eclipse 错误“系统找不到系统 Java 编译器”运行 Gradle 项目

Intellij JAVA_HOME 变量

无法运行gradle