最近接触了一款新的sdk部署工具,sdkman,它的官网地址为 http://sdkman.io/ ,分享给大家~

sdkman介绍:

sdkman(The Software Development Kit Manager)是类unix上的开发工具sdk管理工具,可以方便的管理开发工具sdk(主要是jvm上的)的安装、卸载、版本切换等。

sdkman提供命令行客户端工具,用户可以在客户端通过使用sdk一系列命令,在服务端方便部署sdk环境。它目前支持安装组件如下:

sdkman安装:


curl -s "https://get.sdkman.io" | bash

默认的安装目录为~/.sdkman

如果要切换安装目录,可以之前把SDKMAN_DIR预设一下:


export SDKMAN_DIR="/usr/local/sdkman"

激活sdkman:


source ~/.sdkman/bin/sdkman-init.sh

sdkman使用:

通过输入sdk help命令,查看sdk相关命令:

命令说明:

  1. List
    sdk list
    使用这个命令,可以查看sdkman支持安装的sdk组件。
    sdk list candidate
    查看某个candidate版本,也就是sdkman提供安装的版本。
    比如说,sdk list java,可以查看java的可用版本。

  2. Install
    sdk install candidate
    安装某个candidate,默认安装最新的stable版本。当然,你可以指定版本号,比如说我要安装7u80版本的java环境,则输入
    sdk install java 7u80
  3. Uninstall
    sdk uninstalll candidate
    卸载某个candidate,同安装一样,也可以指定某个版本卸载。
  4. Use
    sdk use candidate
    在当前shell环境使用candidate,或者指定某个版本的candidate。退出该shell则环境失效。如果想一直默认改candidate,则使用default命令。
  5. Default
    sdk default candidate
    默认使用的candidate。
  6. Current
    列出所有的candidates或者某个candidate,当前使用的版本。
  7. Outdated
    列出过期candidates或某个candidate。
  8. Upgrade
    升级所有candidates或某个candidate。
  9. Version
    查看版本。
  10. Broadcast
    查看最新的sdk发布消息。
  11. Offline
    这里可以通过 sdk offline enable 选择 脱机模式,反之选择 联机模式。
  12. Selfupdate
    sdkman自我更新。
  13. Flush
    刷新一些信息。

sdkman使用举例:

比如说,我要安装java环境和scala环境,则只需要按照如下执行:


sdk install java

可以看出,默认的java环境位于~/.sdkman目录下。


sdk install scala 

sdkman工作原理:

sdkman采用一系列sh脚本,来注册sdk相关命令。

目前支持的组件,可以通过 https://api.sdkman.io/2/candidates/all 查看。

如果系统中通过sdkman安装某candidate,它的安装主要依赖sdkman-install.sh来实现的,依次下载了candidate的zip压缩包及安装脚本,再通过脚本来执行安装流程,本质上是与正常的unix安装流程是一样的。

通过提供的两个接口来进行组件与安装脚本的下载与安装:


https://api.sdkman.io/1/
https://api.sdkman.io/2/

通过制定相关的candidate及version信息,来拼接下载的url,从sdkman官方提供的源头下载。比如说,linux下2.12.1版本的scala下载链接为:https://api.sdkman.io/2/broker/download/scala/2.12.1/linux

下载的组件分别至于archive及temp目录下,安装的组件在candidates目录下,可以看到默认的current为指向某一版本的软链接。

每次启动shell环境,都会预先加载 .bash_profile .profile .bashrc .zshrc 等文件中的环境,这样就可以直接使用~/.sdkman中的sdk环境了。

转载文档共大家学习!!!

sdkman的介绍、安装及使用相关推荐

  1. 安装vag服务器虚拟机,FusionAccess桌面云组件介绍/安装

    FusionAccess桌面云组件介绍/安装 FusionAccess桌面云组件介绍/安装 文章目录桌面云管理组件接入访问控制层 虚拟桌面管理层 桌面虚拟机核心组件 安装部署 桌面云关联组件AD-活动 ...

  2. HarmonyOS实战[一]——原理概念介绍安装:基础篇

    [本文正在参与"有奖征文|HarmoneyOS征文大赛"活动] 相关文章: HarmonyOS实战[一]--原理概念介绍安装:基础篇 HarmonyOS实战[二]-超级详细的原子化 ...

  3. MySQL介绍-安装-登录

    MySQL介绍-安装-登录 数据库的概念 数据存储方式 计算机数据(Data)的存储一般以硬盘为数据存储空间资源,从而保证计算机内的数据能够持续保存.对于数据的处理,一般会采用数据库相关的技术进行处理 ...

  4. VSFTP介绍安装使用

    ftp 是File Transfer Protocol的缩写,文件传输协议,用于在网络上进行文件传输的一套标准协议,使用客户/服务器模式.它属于网络传输协议的应用层. sftp 是SSH File T ...

  5. Mininet的介绍安装

    Mininet的介绍 Mininet是一个强大的网络仿真平台,通过这个这个平台,我们可以很方便的模拟真实环境中的网络操作与架构.当前SDN/OpenFlow发展的如火如荼,但是在真实网络中又不可以进行 ...

  6. Ctex软件介绍安装破解(是WinEdt_v6.0破解)

    为什么80%的码农都做不了架构师?>>>    1,什么是CTex? CTEX是TEX中的一个版本,CTEX 指的是CTEX 中文套装的简称. TEX 在不同的硬件和 操作系统上有不 ...

  7. 77.redis介绍 安装 持久化 数据类型

    2019独角兽企业重金招聘Python工程师标准>>> 21.9 redis介绍 21.10 redis安装 21.11 redis持久化 21.12 redis数据类型 21.9 ...

  8. Grub及内核的简单介绍安装

    Grub1.x的具体介绍 Grub识别的硬盘设备命名 所有硬盘都识别为hd,分区表示法(x,y),编号都从0开始 配置文件 /boot/grub/grub.conf或/etc/grub.conf,具体 ...

  9. Linux - Red Hat 7.3 介绍安装

    1. linux 历史介绍 Linux 操作系统的诞生发展和成长过程始终依赖着五个重要支柱:UNIX 操作系统.MINIX 操作系统.GNU计划.POSIX 标准和Internet 网络 1969年( ...

最新文章

  1. 操作系统-南京大学(蒋岩炎)课程--操作系统上的程序
  2. 谭浩强课后题(数组篇)
  3. Linux nano编辑txt文件,Linux 文本编辑器 nano 的简单使用
  4. McAfee:较之中国美国黑客才最令人害怕
  5. 转-SpringBoot——使用外置的Tomcat服务器
  6. 华为最新 5G 折叠机 MateXs 发布,起售价 19000 多元
  7. 【软件安装】MacBook 安装 MATLAB 2020a
  8. adb shell /system/bin/screencap screenrecord
  9. RS——485通讯协议
  10. 给VS2008安装MSDN
  11. 接口 常见视频接口详解
  12. PDF转DWG格式怎么转?分享两种好用转换方法
  13. python客户端开发自行车租赁系统_Python数据可视化——共享单车数据分析
  14. 控制反转和依赖注入的个人理解
  15. 怎样在网站中添加google统计代码
  16. 特网云 DirectAdmin 安装SSL
  17. 偶然看到,也许有用!
  18. 1217_使用SCons生成目标文件
  19. CVPR 2018 论文解读(部分)
  20. MD5绕过(强弱类型比较)

热门文章

  1. java对pdf分割_Java如何使用Java将PDF分割成多个文档?
  2. 阿里天池大数据之移动推荐算法大赛总结及代码全公布
  3. greenplum 历史拉链表
  4. 中学办公室计算机管理制度,中学教师办公室管理制度
  5. 程序员必学电脑计算机专业英语词汇 04 (200 单词)
  6. Navicat Premium 12 for Mac(多重连接数据库管理工具)汉化破解版
  7. 乐玩插件和大漠插件哪个好_哪个PS后期插件功能最多最强?风光人像全能修图王!一个顶五个...
  8. 概览:可视化前端测试
  9. 云原生kubernetes六:namespace和Resourcequota
  10. 四.电影/综艺网站(包含搜索经验, 我的经验, 必看) 彻底帮你解决看电影/综艺的问题