MacOS 现在自带的 Java 版本是啥情况?

2023-09-28 11:02:00 +08:00
 cairnechen
在/usr/bin/目录能找到 java 的二进制文件
但是运行 java --version 会提示:The operation couldn’t be completed. Unable to locate a Java Runtime.
Please visit http://www.java.com for information on installing Java.

是需要去 Oracle 官网下载 JDK21 吗?自带的这个需不需要卸载呢?
2191 次点击
所在节点    macOS
10 条回复
chuck1in
2023-09-28 11:07:57 +08:00
brew 重新装一个吧?自带的怕是有问题吧。
cairnechen
2023-09-28 11:11:44 +08:00
@chuck1in

brew info 只有 openjdk ,我不是很清楚和 Oracle 官方的是不是完全等效的
xingye1926
2023-09-28 11:17:54 +08:00
jenv + sdkman
xieshaohu
2023-09-28 11:20:19 +08:00
@cairnechen 不完全等效,Oracle 现在的 JDK 授权只支持开发者个人用,服务器授权是需要购买的,为了保持开发环境和生产环境一致,可以考虑 openjdk 的其他发行版。个人在等 Adoptium OpenJDK 发行版出 21 LTS
swordcoming9527
2023-09-28 11:21:31 +08:00
系统并没有自带,brew install openjdk 时,
注意安装成功后的提示(忘记了的话就 brew info openjdk):
For the system Java wrappers to find this JDK, symlink it with
sudo ln -sfn /opt/homebrew/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk
这样就可以双击 jar 直接运行,好像也不需要设置 PATH (添加也没问题)了。
Daweezy
2023-09-28 11:21:34 +08:00
直接去官网下载安装,这样还会在设置里添加 java 控制面板,方便做一些高级设置
mschultz
2023-09-28 11:36:14 +08:00
系统自带的那个 /usr/bin/java 并不是真正的 JDK, 它只是一个 wrapper 或者说 proxy 或者说 picker ,指向 /Library/Java/JavaVirtualMachines 中(默认为空)某个 JDK 的 java executable.

Stack Exchange: https://apple.stackexchange.com/questions/269588/how-does-usr-bin-java-work-on-mac
wu67
2023-09-28 12:04:06 +08:00
系统没有提供 jdk, 那个 java javac 你可以理解成一个快捷方式/软链接...
我记得手动装 jdk 之后, 那个会指向你安装的目录
seanzxx
2023-09-28 14:23:31 +08:00
asdf ,轻松管理多个 java 版本
Phariel
2023-09-28 14:58:04 +08:00
建议使用 sdkman 管理 Java 以及生态中其他产品的版本控制

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/977846

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX