❤Java jdk 版本管理工具 (JEnv、SDKMAN、Jabba【主推这个】)

❤Java 的 JDK 多版本管理(JEnv、SDKMAN、Jabba)

一、认识

比较常用的 Java JDK 版本管理工具有 JEnv、SDKMAN,而 Jabba 是一个比较新的工具,它是跨平台的 Java 版本管理工具,它是受 Node.js 的 nvm 启发,所以 Jabba 跟 nvm 的使用方式几乎一致。

这里估计也受到了nvm的影响

二、区别

(1)JEnv:

认识

地址:https://github.com/jenv/jenv
作者:Gildas Cuisinier
开发语言:Shell

特点:
JEnv 是一个简单而强大的命令行工具,用于在不同的 Java 版本之间进行切换。
JEnv 可以管理全局和项目特定的 Java 版本,并且可以在不同的项目之间切换。
JEnv 不能直接安装JDK,需要用户自行安装 JDK 版本,并将其添加到 JEnv 的管理列表中。
JEnv 支持跨平台(Mac、Linux、Windows)

(2)Jabba:

认识

地址:https://github.com/shyiko/jabba
作者:Oleg Shyiko
开发语言:Go

特点:
Jabba 是一个用于安装和管理不同 Java 版本的命令行工具。
Jabba 可以轻松地安装和管理多个 JDK 版本,并且可以在不同项目之间进行切换。
Jabba 提供了简单易用的命令行接口来安装、卸载和切换 JDK 版本。

(3)Jabba 支持跨平台(Mac、Linux、Windows)。

认识

SDKMAN地址:https://github.com/sdkman/sdkman-cli
作者:Marcin Erdmann
开发语言:Groovy

特点:

SDKMAN (Software Development Kit Manager)是一个通用的软件开发工具包管理器,不仅仅限于 Java。
SDKMAN 可以用来安装和管理多种不同的开发工具,包括 JDK 和其他构建工具(如 Gradle 和 Maven)。
SDKMAN 提供了一个简单的命令行界面,使用户能够轻松地安装、卸载和切换不同的开发工具。
SDKMAN 支持跨平台(Mac、Linux、Windows)。

三、安装

Mac 可以通过 HomeBrew 安装的可以看下 HomeBrew 安装详细流程。

所有版本的安装这里都有:Java JDK使用 SDKMAN、JEnv 和 Jabba 安装配置及版本切换,步骤挺简单的,或者可以直接按照上面区别中的 Github 地址直接进去看官方文档安装,基本一致也不繁琐。

JEnv 算是绝对的轻量级,可以优先考虑,只是需要手动安装版本,但是也挺简单的,而且本地版本一般也不会安装很多,博主选的这个。

版本是否切换成功,可以查看下版本

java -version

卸载 JDK:Mac 卸载非 JDK 管理工具安装的 Java JDK。

四、SDKMAN 使用细节

sdkman 官网中有安装与卸载教程。

常用指令

# 查看 sdkman 版本
$ sdk version

# 查看 sdkman 版本
$ sdk current

# 查看 sdkman 使用的当前 java 版本
$ sdk current java

# 更新本地 sdkman 缓存
$ sdk update

# 强制升级 sdkman
$ sdk selfupdate force

# 列出可用的 java 版本,还可以列出别的平台 $ sdk list maven
$ sdk list java

# 查看安装地址
$ sdk home java 11.0.16-zulu

# 安装指定版本
$ sdk install java 11.0.16-zulu

# 卸载指定版本
$ sdk uninstall java 11.0.16-zulu

# 将制定版本设为默认(全局) 
$ sdk default java 11.0.16-zulu

# 配置本地的版本(临时,本地目录)
$ sdk use java 11.0.16-zulu

五、JEnv 使用细节

安装好后,可以到 AdoptopenJDK 或 Oracle 下载需要的版本进行安装,AdoptopenJDK 可以下载到比较老的版本,Oracle 只能下最新的版本。

查看本地所有 JDK 版本路径

/usr/libexec/java_home -V


常用指令
# 诊断 jenv 是否配置成功
$ jenv doctor

# 添加一个 JDK 版本到 jenv 管理
$ jenv add JDK路径
$ jenv add /usr/local/Cellar/openjdk@11/11.0.17/libexec/openjdk.jdk/Contents/Home
$ jenv add /usr/local/Cellar/openjdk@8/1.8.0+352/libexec/openjdk.jdk/Contents/Home
$ jenv add /Library/Java/JavaVirtualMachines/openjdk.jdk/Contents/Home
# 支持别名
$ jenv add /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home oracle64-1.6.0.39 added

# 查看管理的 JDK 版本
$ jenv versions

# 将制定版本设为默认(全局) 
$ jenv global oracle64-1.6.0.39

# 配置本地的版本(临时,本地目录)
$ jenv local oracle64-1.6.0.39

# shell 版本设置,给解释器(也就是这种类型的命令行窗口)设置使用指定的版本
$ jenv shell oracle64-1.6.0.39

切换版本后,可能还需要执行一行代码才会生效,如果切换版本生效了则不需要执行

# 看版本对不对,不对则同步下环境配置
$ java -version

# 不对则执行一下这行,在输出一下版本
$ source ~/.zshrc

六、Jabba 使用细节(主要推荐)

官方文档
https://github.com/shyiko/jabba

常用指令

# 查看远程可以安装版本
$ jabba ls-remote

# 安装
$ jabba install 1.8

# 卸载
$ jabba uninstall 1.8

# 查看本地已安装版本
$ jabba ls

# 将制定版本设为默认(全局) 
$ jabba alias default oracle64-1.6.0.39

# 配置本地的版本(临时,本地目录)
$ jenv use oracle64-1.6.0.39

# 添加本地 JDK
$ jabba link 别名@版本 本地JDK路径
$ jabba link system@1.8 M:\GreenSoft\Java\jdk1.8.0_171

# 过滤搜索版本
$ jabba ls-remote zulu@~1.8.60
$ jabba ls-remote "* @> = 1.6.45 <1.9"-- latest = minor

# 通过指定 url 进行安装,支持: zip (since 0.3.0), tgz, tgx (since 0.10.0), dmg, bin, exe
$ jabba install 1.8.0-custom=tgz+http://example.com/distribution.tar.gz
$ jabba install 1.8.0-custom=tgx+http://example.com/distribution.tar.xz
$ jabba install 1.8.0-custom=zip+file:///opt/distribution.zip

Windows 10上安装

在powershell上执行下面命令:

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Invoke-Expression (
  Invoke-WebRequest https://github.com/shyiko/jabba/raw/master/install.ps1 -UseBasicParsing
).Content

注意:如果执行上面命令报错,可能是win10脚本执行策略问题,修改可以执行下边命令:

Set-ExecutionPolicy -Scope CurrentUser
执行后会出“ExecutionPolicy:”提示信息,输入RemoteSigned,回车确定后在按Y确定执行。

设置完成后在执行一下安装命令即可。

macOS/Linux上安装

安装最新版本
export JABBA_GET="curl -sLk"
curl -sLk https://github.com/shyiko/jabba/raw/master/install.sh | bash && . ~/.jabba/jabba.sh

更新安装的版本
curl -sLk 
https://github.com/shyiko/jabba/raw/master/install.sh
 | bash; and . ~/.jabba/jabba.fish
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

林太白

感谢打赏,你拥有了我VIP权限

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值