繁体   English   中英

使用 Gradle 构建 - 提供的 javaHome 必须是有效目录

[英]Building with Gradle - Supplied javaHome must be a valid directory

对于本应轻松的任务,我遇到了很多麻烦。 我正在尝试为我的一门课程在开课前使用 Gradle 构建一个简单的 Java 项目(只是 Hello World)。 我克隆了存储库,下载了所有相关软件,并在命令行上尝试gradle build 我收到错误Supplied javaHome must be a valid directory. You supplied: C:\Program Files\AdoptOpenJDK\jre-8.0.282.8-hotspot Supplied javaHome must be a valid directory. You supplied: C:\Program Files\AdoptOpenJDK\jre-8.0.282.8-hotspot 显示的这个文件是我删除的先前版本。

我尝试重新安装所有内容,还检查了 JAVA_HOME 环境变量,该变量设置为C:\Program Files\AdoptOpenJDK\jdk-15.0.2.7-hotspot\ 我还重新启动了终端并重新启动了我的计算机。 我正在使用 Git Bash 作为我的 shell,如果这有什么相关的话。 有关如何更改提供的 javaHome 的任何建议?

以下是一些相关截图:

gradle build的结果

java -version的结果

JAVA_HOME 环境变量

我的(非常粗略的)解决方案是复制我拥有的现有 jre15 文件夹并将其重命名为jre-8.0.282.8-hotspot 我现在可以构建和运行我的程序,但它看起来很简陋。

一年更新:我问我的教授什么时候开始上课,他说这个解决方案实际上还不错,可以满足整个学期的需要。

我在 GitHub Actions 上构建 Java 应用程序时遇到了类似的问题。 从 Java 11 升级到 Java 16 后,我开始遇到与您相同的错误。

就我而言,它原来是一个缓存问题。 我正在缓存两个目录:

  1. ~/.gradle (在 windows 上,这应该类似于C:\Users\username\.gradle
  2. project/.gradle (这是我的应用程序项目本地的 gradle 目录)。

使缓存无效为我解决了这个问题。

卸载运行 Gradle 守护程序的 Java 版本后,我遇到了类似的问题。 停止守护进程为我解决了这个问题:

gradle --stop

(可能是Miguel解决方案的跨平台等效项)

将 gradle( gradle-wrapper.properties ) 版本从 Android Studio 更新到最新版本

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM