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

p23*_*3he 12 java gradle

我在本应是一件简单的任务上遇到了很多麻烦。我正在尝试在课程开始前使用 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。显示的这个文件是我已删除的先前版本。

我尝试重新安装所有内容,并且还检查了 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. 我现在可以构建并运行我的程序,但它看起来很草图。

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

Mig*_*ira 19

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

就我而言,事实证明这是一个缓存问题。我正在缓存两个目录:

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

使缓存无效解决了我的问题。

  • 这对我来说也是一个缓存问题。具体按照[本文](https://medium.com/back-market-engineering/put-your-android-studio-on)删除 ~./.gradle 目录 `caches`、`daemon` 和 `wrapper` -a-diet-fa4d364acb05#d129)成功了。 (2认同)

dar*_*arw 9

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

gradle --stop
Run Code Online (Sandbox Code Playgroud)

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