sdkman的介绍、安装及使用
最近接触了一款新的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相关命令:
命令说明:
- List
sdk list
使用这个命令,可以查看sdkman支持安装的sdk组件。
sdk list candidate
查看某个candidate版本,也就是sdkman提供安装的版本。
比如说,sdk list java,可以查看java的可用版本。 - Install
sdk install candidate
安装某个candidate,默认安装最新的stable版本。当然,你可以指定版本号,比如说我要安装7u80版本的java环境,则输入
sdk install java 7u80 - Uninstall
sdk uninstalll candidate
卸载某个candidate,同安装一样,也可以指定某个版本卸载。 - Use
sdk use candidate
在当前shell环境使用candidate,或者指定某个版本的candidate。退出该shell则环境失效。如果想一直默认改candidate,则使用default命令。 - Default
sdk default candidate
默认使用的candidate。 - Current
列出所有的candidates或者某个candidate,当前使用的版本。 - Outdated
列出过期candidates或某个candidate。 - Upgrade
升级所有candidates或某个candidate。 - Version
查看版本。 - Broadcast
查看最新的sdk发布消息。 - Offline
这里可以通过 sdk offline enable 选择 脱机模式,反之选择 联机模式。 - Selfupdate
sdkman自我更新。 - 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的介绍、安装及使用相关推荐
- 安装vag服务器虚拟机,FusionAccess桌面云组件介绍/安装
FusionAccess桌面云组件介绍/安装 FusionAccess桌面云组件介绍/安装 文章目录桌面云管理组件接入访问控制层 虚拟桌面管理层 桌面虚拟机核心组件 安装部署 桌面云关联组件AD-活动 ...
- HarmonyOS实战[一]——原理概念介绍安装:基础篇
[本文正在参与"有奖征文|HarmoneyOS征文大赛"活动] 相关文章: HarmonyOS实战[一]--原理概念介绍安装:基础篇 HarmonyOS实战[二]-超级详细的原子化 ...
- MySQL介绍-安装-登录
MySQL介绍-安装-登录 数据库的概念 数据存储方式 计算机数据(Data)的存储一般以硬盘为数据存储空间资源,从而保证计算机内的数据能够持续保存.对于数据的处理,一般会采用数据库相关的技术进行处理 ...
- VSFTP介绍安装使用
ftp 是File Transfer Protocol的缩写,文件传输协议,用于在网络上进行文件传输的一套标准协议,使用客户/服务器模式.它属于网络传输协议的应用层. sftp 是SSH File T ...
- Mininet的介绍安装
Mininet的介绍 Mininet是一个强大的网络仿真平台,通过这个这个平台,我们可以很方便的模拟真实环境中的网络操作与架构.当前SDN/OpenFlow发展的如火如荼,但是在真实网络中又不可以进行 ...
- Ctex软件介绍安装破解(是WinEdt_v6.0破解)
为什么80%的码农都做不了架构师?>>> 1,什么是CTex? CTEX是TEX中的一个版本,CTEX 指的是CTEX 中文套装的简称. TEX 在不同的硬件和 操作系统上有不 ...
- 77.redis介绍 安装 持久化 数据类型
2019独角兽企业重金招聘Python工程师标准>>> 21.9 redis介绍 21.10 redis安装 21.11 redis持久化 21.12 redis数据类型 21.9 ...
- Grub及内核的简单介绍安装
Grub1.x的具体介绍 Grub识别的硬盘设备命名 所有硬盘都识别为hd,分区表示法(x,y),编号都从0开始 配置文件 /boot/grub/grub.conf或/etc/grub.conf,具体 ...
- Linux - Red Hat 7.3 介绍安装
1. linux 历史介绍 Linux 操作系统的诞生发展和成长过程始终依赖着五个重要支柱:UNIX 操作系统.MINIX 操作系统.GNU计划.POSIX 标准和Internet 网络 1969年( ...
最新文章
- 操作系统-南京大学(蒋岩炎)课程--操作系统上的程序
- 谭浩强课后题(数组篇)
- Linux nano编辑txt文件,Linux 文本编辑器 nano 的简单使用
- McAfee:较之中国美国黑客才最令人害怕
- 转-SpringBoot——使用外置的Tomcat服务器
- 华为最新 5G 折叠机 MateXs 发布,起售价 19000 多元
- 【软件安装】MacBook 安装 MATLAB 2020a
- adb shell /system/bin/screencap screenrecord
- RS——485通讯协议
- 给VS2008安装MSDN
- 接口 常见视频接口详解
- PDF转DWG格式怎么转?分享两种好用转换方法
- python客户端开发自行车租赁系统_Python数据可视化——共享单车数据分析
- 控制反转和依赖注入的个人理解
- 怎样在网站中添加google统计代码
- 特网云 DirectAdmin 安装SSL
- 偶然看到,也许有用!
- 1217_使用SCons生成目标文件
- CVPR 2018 论文解读(部分)
- MD5绕过(强弱类型比较)
热门文章
- java对pdf分割_Java如何使用Java将PDF分割成多个文档?
- 阿里天池大数据之移动推荐算法大赛总结及代码全公布
- greenplum 历史拉链表
- 中学办公室计算机管理制度,中学教师办公室管理制度
- 程序员必学电脑计算机专业英语词汇 04 (200 单词)
- Navicat Premium 12 for Mac(多重连接数据库管理工具)汉化破解版
- 乐玩插件和大漠插件哪个好_哪个PS后期插件功能最多最强?风光人像全能修图王!一个顶五个...
- 概览:可视化前端测试
- 云原生kubernetes六:namespace和Resourcequota
- 四.电影/综艺网站(包含搜索经验, 我的经验, 必看) 彻底帮你解决看电影/综艺的问题