V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
cairnechen
V2EX  ›  macOS

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

  •  
  •   cairnechen · 2023-09-28 11:02:00 +08:00 · 2141 次点击
    这是一个创建于 440 天前的主题,其中的信息可能已经有所发展或是发生改变。
    在/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 吗?自带的这个需不需要卸载呢?
    10 条回复    2023-09-28 14:58:04 +08:00
    chuck1in
        1
    chuck1in  
       2023-09-28 11:07:57 +08:00
    brew 重新装一个吧?自带的怕是有问题吧。
    cairnechen
        2
    cairnechen  
    OP
       2023-09-28 11:11:44 +08:00
    @chuck1in

    brew info 只有 openjdk ,我不是很清楚和 Oracle 官方的是不是完全等效的
    xingye1926
        3
    xingye1926  
       2023-09-28 11:17:54 +08:00
    jenv + sdkman
    xieshaohu
        4
    xieshaohu  
       2023-09-28 11:20:19 +08:00
    @cairnechen 不完全等效,Oracle 现在的 JDK 授权只支持开发者个人用,服务器授权是需要购买的,为了保持开发环境和生产环境一致,可以考虑 openjdk 的其他发行版。个人在等 Adoptium OpenJDK 发行版出 21 LTS
    swordcoming9527
        5
    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
        6
    Daweezy  
       2023-09-28 11:21:34 +08:00
    直接去官网下载安装,这样还会在设置里添加 java 控制面板,方便做一些高级设置
    mschultz
        7
    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
        8
    wu67  
       2023-09-28 12:04:06 +08:00
    系统没有提供 jdk, 那个 java javac 你可以理解成一个快捷方式/软链接...
    我记得手动装 jdk 之后, 那个会指向你安装的目录
    seanzxx
        9
    seanzxx  
       2023-09-28 14:23:31 +08:00
    asdf ,轻松管理多个 java 版本
    Phariel
        10
    Phariel  
       2023-09-28 14:58:04 +08:00
    建议使用 sdkman 管理 Java 以及生态中其他产品的版本控制
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4925 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 08:00 · PVG 16:00 · LAX 00:00 · JFK 03:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.