当前位置: 首页 > ops >正文

Mac 4步 安装 Jenv 管理多版本JDK

1、安装 Jenv

TsengdeMacBook-Pro:~ zeng$ brew install jenv
==> Auto-updating Homebrew...
Adjust how often this is run with `$HOMEBREW_AUTO_UPDATE_SECS` or disable with
`$HOMEBREW_NO_AUTO_UPDATE=1`. Hide these hints with `$HOMEBREW_NO_ENV_HINTS=1` (see `man brew`).
==> Auto-updated Homebrew!
Updated 2 taps (homebrew/core and homebrew/cask).
==> New Formulae
aiac: Artificial Intelligence Infrastructure-as-Code Generator
anyzig: Universal zig executable that runs any version of zig
apache-polaris: Interoperable, open source catalog for Apache Iceberg
cogapp: Small bits of Python computation for static files
electric: Real-time sync for Postgres
entt: Fast and reliable entity-component system for C++
flexget: Multipurpose automation tool for content
glom: Declarative object transformer and formatter, for conglomerating nested data
go-passbolt-cli: CLI for passbolt
go@1.24: Open source programming language to build simple/reliable/efficient software
goodls: CLI tool to download shared files and folders from Google Drive
influxdb@2: Time series, events, and metrics database
limine: Modern, advanced, portable, multiprotocol bootloader and boot manager
mk: Wrapper for auto-detecting build and test commands in a repository
msolve: Library for Polynomial System Solving through Algebraic Methods
nessie: Transactional Catalog for Data Lakes with Git-like semantics
oasis: CLI for interacting with the Oasis Protocol network
omnara: Talk to Your AI Agents from Anywhere
qman: Modern man page viewer
quadcastrgb: Set RGB lights on HyperX QuadCast S and Duocast microphones
wgpu-native: Native WebGPU implementation based on wgpu-core==> Fetching downloads for: jenv
==> Fetching jenv
==> Downloading https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles/jenv-0.5.9.all.bottle.tar.gz
################################################################################################## 100.0%
==> Pouring jenv-0.5.9.all.bottle.tar.gz
==> Caveats
To activate jenv, add the following to your shell profile e.g. ~/.profile
or ~/.zshrc:export PATH="$HOME/.jenv/bin:$PATH"eval "$(jenv init -)"
==> Summary
🍺  /usr/local/Cellar/jenv/0.5.9: 91 files, 100.8KB
==> Running `brew cleanup jenv`...
Disable this behaviour by setting `HOMEBREW_NO_INSTALL_CLEANUP=1`.
Hide these hints with `HOMEBREW_NO_ENV_HINTS=1` (see `man brew`).
==> No outdated dependents to upgrade!
TsengdeMacBook-Pro:~ zeng$ 

2、配置 Jenv 生效

TsengdeMacBook-Pro:~ zeng$ echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile 
TsengdeMacBook-Pro:~ zeng$ echo 'eval "$(jenv init -)"' >> ~/.bash_profile 
TsengdeMacBook-Pro:~ zeng$ source ~/.bash_profile 
jenv has been updated, process to refresh plugin links
TsengdeMacBook-Pro:~ zeng$ jenv versions
* system (set by /Users/zeng/.jenv/version)
TsengdeMacBook-Pro:~ zeng$

3、添加 JDK 1.8.0_261 

/usr/libexec/java_home -V
Matching Java Virtual Machines (3):1.8.261.12 (x86_64) "Oracle Corporation" - "Java" /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home1.8.0_261 (x86_64) "Oracle Corporation" - "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home1.8.0_231 (x86_64) "Oracle Corporation" - "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_231.jdk/Contents/Home
/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
TsengdeMacBook-Pro:~ zeng$ jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home
oracle64-1.8.0.261 added
1.8.0.261 added
1.8 added
TsengdeMacBook-Pro:~ zeng$ jenv versions
* system (set by /Users/zeng/.jenv/version)1.81.8.0.261oracle64-1.8.0.261
TsengdeMacBook-Pro:~ zeng$ jenv global oracle64-1.8.0.261
TsengdeMacBook-Pro:~ zeng$
4、设置全局默认 JDK
TsengdeMacBook-Pro:~ zeng$ jenv global oracle64-1.8.0.261
TsengdeMacBook-Pro:~ zeng$ java -version
java version "1.8.0_261"
Java(TM) SE Runtime Environment (build 1.8.0_261-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.261-b12, mixed mode)
TsengdeMacBook-Pro:~ zeng$

 安装 JDK21.0.8

/usr/libexec/java_home -V
Matching Java Virtual Machines (4):21.0.8 (x86_64) "Oracle Corporation" - "Java SE 21.0.8" /Library/Java/JavaVirtualMachines/jdk-21.jdk/Contents/Home1.8.261.12 (x86_64) "Oracle Corporation" - "Java" /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home1.8.0_261 (x86_64) "Oracle Corporation" - "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/jdk-21.jdk/Contents/Home
TsengdeMacBook-Pro:~ zeng$ jenv add /Library/Java/JavaVirtualMachines/jdk-21.jdk/Contents/Home
oracle64-21.0.8 added
21.0.8 added
21.0 added
21 added
TsengdeMacBook-Pro:~ zeng$ jenv versionssystem1.81.8.0.2612121.021.0.8
* oracle64-1.8.0.261 (set by /Users/zeng/.jenv/version)oracle64-21.0.8
TsengdeMacBook-Pro:~ zeng$

设置 JDK 21 为全局默认

TsengdeMacBook-Pro:~ zeng$ jenv global oracle64-21.0.8
TsengdeMacBook-Pro:~ zeng$ jenv versionssystem1.81.8.0.2612121.021.0.8oracle64-1.8.0.261
* oracle64-21.0.8 (set by /Users/zeng/.jenv/version)
TsengdeMacBook-Pro:~ zeng$ java -version
java version "21.0.8" 2025-07-15 LTS
Java(TM) SE Runtime Environment (build 21.0.8+12-LTS-250)
Java HotSpot(TM) 64-Bit Server VM (build 21.0.8+12-LTS-250, mixed mode, sharing)
TsengdeMacBook-Pro:~ zeng$

JDK 21 成为默认版本:

jenv global oracle64-21.0.8

或者只在当前 shell 使用: 

jenv shell oracle64-21.0.8

或在某个项目中使用:

cd /path/to/your/java21-project
jenv local oracle64-21.0.8  # 会生成 .java-version 文件

JDK17  免登录下载地址

Java Archive Downloads - Java SE 17.0.12 and earlier

http://www.xdnf.cn/news/18272.html

相关文章:

  • Linux Capability 解析
  • strncpy 函数使用及其模拟实现
  • 为什么我的UI界面会突然卡顿,失去响应
  • 安装使用Conda
  • pyqt 的自动滚动区QScrollArea
  • Rust 入门 包 (二十一)
  • Ubuntu 虚拟显示器自动控制服务设置(有无显示器的切换)
  • 华为数通认证学习
  • 微算法科技(NASDAQ: MLGO)引入高级区块链DSR算法:重塑区块链网络安全新范式
  • K8S-Configmap资源
  • C++中的 Eigen库使用
  • 数据库DML语言(增、删、改)
  • oracle服务器导入dmp文件
  • Causal-Copilot: An Autonomous Causal Analysis Agent 论文解读
  • 栈的概念(韦东山学习笔记)
  • C#APP.Config配置文件解析
  • Java内功修炼(2)——线程安全三剑客:synchronized、volatile与wait/notify
  • 5.4 4pnpm 使用介绍
  • kotlin 协程笔记
  • AI 创业公司分析报告:RealRoots
  • 0基础安卓逆向原理与实践:第2章:编程基础与工具链
  • 使用PCL读取PCD点云文件
  • Pandas 数据处理核心操作:合并、替换、统计与分组
  • 分贝单位全指南:从 dB 到 dBm、dBc
  • 深入解析EventPoller:Disruptor的轮询式事件处理机制
  • k8s笔记01
  • 服务器硬盘进行分区和挂载
  • SLAM文献之-Globally Consistent and Tightly Coupled 3D LiDAR Inertial Mapping
  • AI +金融 = 七大核心维度+ 落地典型困难
  • 【Golang实战】Go Module 双段 require 配置深度解析