首页 >Java >尝试使用未安装的 JDK 版本构建程序

尝试使用未安装的 JDK 版本构建程序

PHPz
PHPz转载
2024-02-09 17:06:10947浏览

php小编新一为您介绍如何尝试使用未安装的JDK版本构建程序。在开发过程中,使用正确的JDK版本是至关重要的,但有时我们可能需要尝试使用其他版本来解决一些问题。这时,我们可以通过设置环境变量来指定要使用的JDK版本,并使用命令行工具来构建我们的程序。在这篇文章中,我们将详细介绍如何进行这些操作,以帮助您顺利完成开发任务。让我们开始吧!

问题内容

使用 oracle 安装程序,我在 windows 计算机上安装了 jdk-21。但是,当我尝试构建项目时,出现错误消息提示 gradlew 不兼容,因此我卸载了 oracle jdk-21,现在我已经安装了 adoptium 构建并使用此命令设置了 java_home

setx java_home“c:program fileseclipse adoptiumjdk-21.0.1.12-hotspot”

当我在命令提示符下运行 where java 时,我得到:

c:\program files\eclipse adoptium\jdk.21.0.1.12-hotspot\bin\java.exe

但是,当我尝试构建项目时,收到一条错误消息,指出找不到 java 可执行文件“c:program filesjavajdk-21binjava.exe”。我的电脑似乎正在尝试查找我卸载的 oracle 版本。

我按照本文中的说明在系统路径中设置了 %java_home%bin ,但它说找不到可执行文件。

这是我的环境变量路径中的第一个条目

c:\program files\eclipse adoptium\jdk-21.0.1.12-hotspot\bin

这是我的最后一篇文章

%JAVA_HOME%\bin

为什么程序希望使用已卸载的 java 版本(即我删除的 oracle 版本)进行构建?

此链接显示了我的 windows 计算机上的 java 路径的屏幕截图。

这个 java spring 项目就是我正在尝试构建的项目。

解决方法

也许这与 gradle 缓存机制有关。删除 .gradle/daemon/3d689bd3819ead35ed794427bd12f459/registry.bin 文件,它应该使用您的 JAVA_HOME 环境变量。

这里是 gradle 守护进程文档。也许这个 部分 会导致您在评论中描述的后续错误。您可以使用 gradle 5a3616b73b29b6ef8523164b750a7aee --no-daemon 禁用当前构建的守护进程,并检查您的项目是否会构建。

您链接到的项目正在使用 Gradle 8.0.1。 不支持使用 Java 21 运行它,您可以在 https://docs.gradle 中看到.org/current/userguide/compatibility.html。 因此,要以不变的方式构建该项目,您必须使用最多 Java 19 运行 Gradle。

即使 JAVA_HOME 设置为新位置,仍使用旧的 Java 安装听起来很奇怪,如果您实际上从命令行运行 Gradle。如果从 IDE 运行它,则必须检查 IDE 设置。

现在我只能想象,在你的 GRADLE_USER_HOME (通常是你的用户主目录中的 .gradle/ )中,你有一个 gradle.properties ,你可以在其中设置旧 Java 安装的路径。

如果情况并非如此,问题是,您尝试运行构建的确切输出是什么,错误到底来自哪里。如果它来自 Gradle 包装器脚本,您可以关闭回声抑制以查看实际发生的情况。

以上是尝试使用未安装的 JDK 版本构建程序的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文转载于:stackoverflow.com。如有侵权,请联系admin@php.cn删除