Windows下使用SDKMAN对JDK(Java)进行多版本管理

3 篇文章 0 订阅
2 篇文章 0 订阅

1.背景

前端有nvm,python有miniconda,miniforge等,java呢?java在Linux,Macos下有SDKMAN以及其他的版本管理工作,SDKMAN好用,但不直接支持Windows,本文通过深度,摸索出一个可以在Windows下使用的SDKMAN方式。

2.基于msys2工具

推荐此方式

2.1. msys2简介

MSYS2(Minimal SYStem 2)是一个集成了大量的GNU工具链、工具和库的开源软件包集合。它提供了一个类似于Linux的shell环境,可以在Windows系统中编译和运行许多Linux应用程序和工具。
MSYS2基于MinGW-w64平台,提供了一个完整的开发环境,包括GCC编译器、GDB调试器、Make、Git版本控制系统和许多其他开发工具。除了常用的开发库和工具之外,MSYS2还提供了许多专门针对Windows平台的库和工具,方便开发人员进行跨平台开发和移植工作。
由于MSYS2拥有比较完整的Linux工具链和库,因此它成为了许多跨平台开发和移植项目的首选工具。另外,使用MSYS2也可以轻松地在Windows系统中搭建一个类似于Linux的软件开发环境,方便开发人员进行开发和调试工作。

2.2. 安装与配置

进入MSYS2(https://www.msys2.org/)下载
在这里插入图片描述
安装msys2后,对应的用户目录"msys2安装目录\home\windows用户名"
在这里插入图片描述
运行msys2 ucrt64 终端,然后在其操作

pacman -S zip unzip #安装zip,unzip
curl -s "https://get.sdkman.io" | bash #安装sdkman
source "$HOME/.sdkman/bin/sdkman-init.sh" #环境变量即时生效
sdk version #版本查看
sdk install java 17.0.10-oracle #安装jdk

在这里插入图片描述
位置:C:\msys64\home\long.sdkman\candidates\java\current
在这里插入图片描述

2.2. Windows环境变量配置参考

进入界面进行环境变量设置
在这里插入图片描述
参考变量与值设定

JAVA_HOME: C:\msys64\home\long\.sdkman\candidates\java\current
Path:  %JAVA_HOME%\bin
CLASSPATH:.,%JAVA_HOME%\lib\tool.jar;%JAVA_HOME%\lib\dt.jar

2.3 结果确认

因为windows配置的current,因此需要切换版本时,直接在msys2命令台切换即可。
在这里插入图片描述

3. 基于WSL

**注意:**此方式仅限WSL内使用,使用方式同Linux
友情提醒:安装sdkman,并指定sdkman安装位置到C盘根目录sdkman中,取代默认wsl主机中的~/.sdkman ,这样windows也可以正常访问(java这事访问也没有意义,因为下载下来的是Linux的命令,无法执行)。因为默认情况下,wsl主机中可以直接访问的所有,而windows访问wsl则需要通过\这种非文件协议,导致不方便

sudo apt install zip unzip
curl -s "https://get.sdkman.io" | bash #安装sdkman
#export SDKMAN_DIR="/mnt/c/sdkman" && curl -s "https://get.sdkman.io" | bash #安装sdkman,并指定sdkman安装位置到C盘根目录sdkman中,取代默认wsl主机中的~/.sdkman ,这样windows也可以正常访问(java这事访问也没有意义,因为下载下来的是Linux的命令,无法执行)。因为默认情况下,wsl主机中可以直接访问的所有,而windows访问wsl则需要通过\\这种非文件协议,导致不方便
source "$HOME/.sdkman/bin/sdkman-init.sh" #环境变量即时生效
sdk version #版本查看
sdk install java 17.0.10-oracle #安装jdk

安装后确认其位置

whereis java

显示在用户主目录的.sdkman/candidates/java/17.0.10-oracle/bin/java
在这里插入图片描述
直接在地址栏访问,这里为Linux根目录,进入java目录,也是Linux版本的java,这个和msys2不同,在msys2进去java的目录是windows版本的java

\\wsl.localhost\Ubuntu

在这里插入图片描述

  • 18
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值