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/<version>/registry.bin
文件,它应该使用您的 JAVA_HOME
环境变量。
这里是 gradle 守护进程文档。也许这个 部分 会导致您在评论中描述的后续错误。您可以使用 gradle <task> --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中文网其他相关文章!