D. *_*Joe 39 java macos homebrew
我正在尝试使用brew安装jdk17,同时还安装了java8、java11和java16。
为了安装 8、11 和 16,我运行了:
brew tap adoptopenjdk/openjdk
brew install --cask adoptopenjdk8
brew install --cask adoptopenjdk11
brew install --cask adoptopenjdk16
Run Code Online (Sandbox Code Playgroud)
不过17版好像没有appacyopenjdk。
我可以安装 17
brew install openjdk
Run Code Online (Sandbox Code Playgroud)
但如果我跑
/usr/libexec/java_home -v 17
Run Code Online (Sandbox Code Playgroud)
它返回
/Library/Java/JavaVirtualMachines/adoptopenjdk-16.jdk/Contents/Home
Run Code Online (Sandbox Code Playgroud)
并且没有 17 的条目
/Library/Java/JavaVirtualMachines/
Run Code Online (Sandbox Code Playgroud)
我在用
alias java8="unset JAVA_HOME; export JAVA_HOME=`/usr/libexec/java_home -v 1.8`; java -version"
alias java11="unset JAVA_HOME; export JAVA_HOME=`/usr/libexec/java_home -v 11`; java -version"
alias java16="unset JAVA_HOME; export JAVA_HOME=`/usr/libexec/java_home -v 16`; java -version"
alias java17="unset JAVA_HOME; export JAVA_HOME=`/usr/libexec/java_home -v 17`; java -version"
Run Code Online (Sandbox Code Playgroud)
管理 java 版本,如果没有 java 17 的条目,我无法切换到它。
谢谢。
Goa*_*aul 63
所以,没有人在这上面浪费更多时间,要安装 temurin17,执行:
brew tap homebrew/cask-versions
brew install --cask temurin17
Run Code Online (Sandbox Code Playgroud)
Nic*_*ist 30
更新!
该项目的新网站名为 Adoptium(感谢 @MarkRotteveel)。在 Homebrew 中,安装新 AdoptOpenJDK 的软件包此处名为 temurin。您需要运行的只是:
brew install --cask temurin17
Run Code Online (Sandbox Code Playgroud)
或获取最新版本
brew install --cask temurin
Run Code Online (Sandbox Code Playgroud)
Jam*_*oud 12
谢谢大家,这非常有帮助。我还必须对我的$HOME/.zshrc文件进行以下更改
export PATH="/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home/bin/:$PATH"
Run Code Online (Sandbox Code Playgroud)
我还在我的系统上保留了旧的acceptopenjdk8,但注释掉了这一行以$HOME/.zshrc从我的路径中删除java 8,这样当我运行java命令时它就不会被执行
# export PATH="/usr/local/opt/openjdk@8/bin:$PATH"
Run Code Online (Sandbox Code Playgroud)
通过我运行的这两个更改来执行我的 PATH
source ~/.zshrc
Run Code Online (Sandbox Code Playgroud)
在此之前,我运行了这 2 个命令来安装 java 17
brew tap homebrew/cask-versions
brew info temurin17
brew install temurin17
Run Code Online (Sandbox Code Playgroud)
现在(截至 2023 年 4 月 12 日)当我跑步时
java -version
Run Code Online (Sandbox Code Playgroud)
表明
openjdk version "17.0.6" 2023-01-17
OpenJDK Runtime Environment Temurin-17.0.6+10 (build 17.0.6+10)
OpenJDK 64-Bit Server VM Temurin-17.0.6+10 (build 17.0.6+10, mixed mode, sharing)
Run Code Online (Sandbox Code Playgroud)
在此之前java -version显示
openjdk version "1.8.0_362"
OpenJDK Runtime Environment (build 1.8.0_362-bre_2023_01_22_03_32-b00)
OpenJDK 64-Bit Server VM (build 25.362-b00, mixed mode)
Run Code Online (Sandbox Code Playgroud)
这
brew info temurin17
Run Code Online (Sandbox Code Playgroud)
命令显示了brew“知道”的内容temurin17以及我在安装它之前得到的输出
==> temurin17: 17.0.6,10
https://adoptium.net/
Not installed
From: https://github.com/Homebrew/homebrew-cask-versions/blob/HEAD/Casks/temurin17.rb
==> Name
Eclipse Temurin Java Development Kit
==> Description
JDK from the Eclipse Foundation (Adoptium)
==> Artifacts
OpenJDK17U-jdk_x64_mac_hotspot_17.0.6_10.pkg (Pkg)
Run Code Online (Sandbox Code Playgroud)
brew仅供参考,如果您的 mac 上尚未安装,只需运行
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Run Code Online (Sandbox Code Playgroud)