Skip to content

Conversation

@WhatDamon
Copy link
Contributor

大部分的 OpenJDK 发行版都不会在 macOS 中添加 JAVA_HOME 的环境变量
苹果为此提供了 /usr/libexec/java_home 工具来管理安装的 Java,使用此工具以检查 JDK 在 macOS 上是更加通用的选择

/usr/libexec/java_home --exec java -version

@Glavo
Copy link
Member

Glavo commented Jan 19, 2026

Gradle 会使用这个逻辑来检查 Java 吗?

@WhatDamon
Copy link
Contributor Author

Gradle 会使用这个逻辑来检查 Java 吗?

我对 Gradle 的源代码进行了一次搜索,结果是:会的1,但它的优先级应该低于 JAVA_HOME 环境变量

另外附加一份来自苹果的已存档开发文档,但其内容大部分到今天依旧适用:https://developer.apple.com/library/archive/qa/qa1170/_index.html

如果使用 SDKMAN,它可能会添加上 JAVA_HOME 环境变量,但从当前文档所考虑的方向,对 macOS 而言就是通过 pkg 安装包安装 JDK(不会设置环境变量,不会询问用户是否需要设置环境变量),故直接使用 /usr/libexec/java_home 可能是更好的选择,毕竟在 macOS 下,/usr/bin/java 也不是真正的 Java

Footnotes

  1. https://github.com/gradle/gradle/blob/master/platforms/jvm/jvm-services/src/main/java/org/gradle/jvm/toolchain/internal/DefaultOsXJavaHomeCommand.java

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants