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

使用 SDKMAN 管理多版本本地 Java 环境---Centos8 Windows

文章目录

    • windows 安装
    • centos8 安装
    • 卸载sdkman
    • 使用

windows 安装

SDKMAN是一个 jdk 多版本管理工具,类似于 nodejs 中的 nvm。可以在本地存在多个 java 环境,快速切换功能,同时,他不止于 java sdk,还有maven、tomcat等等。

目前 windows 有两种安装方式:

1、WSL:需要先安装适用于 linux 的 windows 子系统(WSL),同时还需要基本的工具集(bash、zip、unzip、curl)

2、git bash:如果使用 Git Bash for Windows,则需要使用 MinGW 对其进行补充,以获得 SDKMAN 所需的工具集。这种方法存在一些问题,但它在大多数情况下都有效。

git 是大多数同学会使用的到的工具,尤其是在多版本控制以及多人协同场景下,所以本文将以第二种方式进行安装

curl -V
unzip -v
sed --version
zip -v

通常,git 会给我们默认集成 curlunzipsed,所以我们还需要手动下载 zip

来到 zip 下载地址,直接点击 zip-3.0-bin.zip 就开始下载了,下载完毕后解压将 bin 目录下的 zip.exe 文件复制到 git 安装目录下的 mingw64/bin 目录下。由于 zip 依赖于 bzip2,我们还需要用到 bzip2 中的一个扩展 bzip2.dll。所以我们还需要去这里安装下载 bzip2-1.0.5-bin0zip,下载完成后,将 bin 目录下的 bzip2.dll 文件复制到 git 安装目录下的 mingw64/bin 目录下。然后重新打开 git bash ,使用 git -v 检查是否出现版本号,如果出现版本号即安装成功,就可以进入下一步了。

# 安装 sdkman---git bash -- 由于网络关系,这里需要多次尝试
curl -s "https://get.sdkman.io" | bash

这里注意一下,如果下载失败了,就需要执行下面的命令将已有的 sdkman 文件夹给删除(卸载),否则将会提示你已经安装了 sdkman 了。

image-20231125135337494

# 将 sdkman 添加到 PATH 中
source "$HOME/.sdkman/bin/sdkman-init.sh"

可以用了~

image-20231125135411848

image-20231125154632218

sdkman 下载的内容都会存储在 C/用户/xxx/.sdkman/candidates 目录下

比如下载 Gradle,下载后的目录将为 C/用户/xxx/.sdkman/candidates/gradle

如果说想要在 IDEA 中使用的话就直接在 IDEA 中导入 sdk 即可。

最后需要注意的是:sdk 命令只能在 git bash 中使用,在 cmd 或者 power shell 中使用是会报错的。
在这里插入图片描述

centos8 安装

在 linux 中安装比较简单,安装成功的概率也比较大

 curl -s "https://get.sdkman.io" | bash
 
 # 出现以下内容表示安装成功---如果没有出现以下内容就需要卸载了再来一遍(卸载命令在下面)
 
All done!


You are subscribed to the STABLE channel.

Please open a new terminal, or run the following in the existing one:

    source "/root/.sdkman/bin/sdkman-init.sh"

Then issue the following command:

    sdk help

Enjoy!!!

# 配置环境变量

source "$HOME/.sdkman/bin/sdkman-init.sh"

# 查看是否安装成功
sdk version

# 出现版本号即可安装成功

SDKMAN!
script: 5.18.2
native: 0.4.3

卸载sdkman

tar zcvf ~/sdkman-backup_$(date +%F-%kh%M).tar.gz -C ~/ .sdkman
rm -rf ~/.sdkman
[[ -s "/home/dudette/.sdkman/bin/sdkman-init.sh" ]] && source "/home/dudette/.sdkman/bin/sdkman-init.sh"

使用

# 列出可下载的 java 版本
sdk list java

# 下载指定版本 jdk
sdk install java xxx

# 卸载指定版本 jdk
sdk uninstall java xxx

# 设置默认 jdk
sdk default java $Identifier

# 使用某个版本 jdk
sdk use java xxx

# 查看当前使用 jdk
sdk current java

# 启动离线模式
sdk offline enable

查看可下载 Java 列表
在这里插入图片描述


http://www.kler.cn/news/155470.html

相关文章:

  • Java中各种数据类型之间的转换
  • 【OpenCV】图像上绘制文字cv2.putText()函数用法,添加倾斜透明水印
  • 说说你所了解的Java代理,有遇到过Spring Aop失效场景吗
  • [原创]C++98升级到C++20的复习旅途-从汇编及逆向角度去分析“constexpr“关键字
  • Centos7设置永久路由
  • 线性表 力扣67. 二进制求和
  • 三、Zookeeper数据模型
  • 价值投资选股的方法
  • synchronized的实现原理
  • Docker常用进本命令【必备基本功】
  • nodejs基于vue的社区物业缴费报修管理系统7vwc6
  • fasterxml 注解组装实体
  • 【车载开发系列】Flash支持的安全功能
  • C语言面试之旅:掌握基础,探索深度(面试实战之c语言指针数组下篇)
  • 2023年【G1工业锅炉司炉】考试试题及G1工业锅炉司炉模拟考试题库
  • 第八天:信息打点-系统端口CDN负载均衡防火墙
  • STM32踩坑--串口发送乱码
  • 什么是Ros(三)- 常用工具简介
  • 【Erlang进阶学习】2、匿名函数
  • 使用OssImport 工具将文件上传到阿里云OSS
  • 最大乘积分解(动态规划)
  • QNX时钟调研
  • 华容道求解可视化工具
  • QT 中使用 QTableView 和 QStandardItemModel 实现将数据导出到Excel 和 从Excel导入到 QTableView 的功能
  • 怎么检测电脑电源?电脑电源检测系统软件如何助力?
  • 文案二次创作软件,文案二次创作的软件
  • 【Python】tensorflow学习的个人纪录(3)
  • 力扣每日一题day26[42. 接雨水]
  • 游泳馆会员服务预约管理系统预约小程序效果如何
  • TypeScript 的安装与使用