0.SDKMAN!

是在大多数基于Unix的系统上管理多个软件开发工具包的并行版本的工具。它提供了一个方便的命令行界面(CLI)和API来安装,切换,删除和列出sdk相关信息。以下是一些特性:
* By Developers, for Developers
安装SDK不再需要去各种下载页面去下载,解压,以及设置xxx_HOME或者PATH环境变量.
* 多平台
可以在任何基于UNIX的平台上运行:Mac OSX,Linux,Cygwin,Solaris和FreeBSD。 Powershell CLI版本适用于Windows用户。
* 全套JAVA支持
为Java,Groovy,Scala,Kotlin和Ceylon等JVM安装软件开发工具包。 Ant,Gradle,Grails,Maven,SBT,Spark,Spring Boot,Vert.x以及其他许多支持。
* APIs
使用开放的Broker REST API可以轻松地编写新的客户端。供应商可以通过安全的供应商API发布自己的版本。
* 轻量
只需要有curl \ zip/unzip就可以在bash中通过命令使用.还可和ZSH一起使用.

1.安装

在终端中输入以下命令进行安装:

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

如果提示缺少zip或unzip,安装后再次执行上面的命令即可.

# 安装需要的组件,Ubuntu为例
$ apt install zip
$ apt install unzip

安装完成后,在终端中输入:

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

输入以下命令查看安装情况:

$ sdk version
# 以下为输出
==== BROADCAST =================================================================
* 09/01/18: Gradle 4.5-rc-1 released on SDKMAN! #gradle
* 06/01/18: sbt 1.1.0 released on SDKMAN! #scala
* 20/12/17: Gradle 4.4.1 released on SDKMAN! #gradle
================================================================================SDKMAN 5.6.0+287

2.安装到自定义位置

SDKMAN的默认安装位置为:$HOME/.sdkman.你可以通过设置SDKMAN_DIR环境变量来修改安装位置:

$ export SDKMAN_DIR="/usr/local/sdkman" && curl -s "https://get.sdkman.io" | bash

3.Beta通道

SDKMAN的Bate版,包含一些cli的新功能,但是可能会不稳定.如果需要使用Bate版本,需要修改~/.sdkman/etc/config文件:

sdkman_beta_channel=true

然后打开一个终端执行:

$ sdk selfupdate force

如果不需要使用Bate版本了,将上面的配置修改为false,再执行一次更新即可.

4.卸载

SDKMAN!没有提供自动化的卸载方法,可以通过以下命令进行卸载:

tar zcvf ~/sdkman-backup_$(date +%F-%kh%M).tar.gz -C ~/ .sdkman
$ rm -rf ~/.sdkman

然后从.bashrc,.bash_profile和/或.profile文件中编辑和删除初始化代码片段。如果您使用ZSH,请将其从.zshrc文件中删除。要删除的代码片段如下所示:

#THIS MUST BE AT THE END OF THE FILE FOR SDKMAN TO WORK!!!
[[ -s "/home/dudette/.sdkman/bin/sdkman-init.sh" ]] && source "/home/dudette/.sdkman/bin/sdkman-init.sh"

5.使用

5.0 列出支持的软件

$ sdk list
# 执行命令后进入vi模式进行阅读,q退出阅读

5.1 列出软件的版本

[root@iZ4m99ik06aximZ ~]# sdk list java
================================================================================
Available Java Versions
================================================================================12.ea.12-open                                                              11.0.0-open                                                                10.0.2-zulu                                                                10.0.2-open                                                                10.0.2-oracle                                                              9.0.7-zulu                                                                 9.0.4-open                                                                 8.0.181-zulu                                                               8.0.181-oracle                                                             7.0.191-zulu                                                               6.0.113-zulu                                                               1.0.0-rc6-graal                                                            ================================================================================
+ - local version
* - installed
> - currently in use
================================================================================

5.2 安装gradle


$ sdk install gradleDownloading: gradle 4.4.1In progress...######################################################################## 100.0%Installing: gradle 4.4.1
Done installing!Setting gradle 4.4.1 as default.安装jdk
$ sdk install java 后面跟上版本号即可

5.3 安装指定版本软件

# 后面跟上版本号即可
$ sdk install gradle 4.4.1

5.4 安装本地包

$ sdk install groovy 3.0.0-SNAPSHOT /path/to/groovy-3.0.0-SNAPSHOT

5.5 卸载包

$ sdk uninstall scala 2.11.6

5.6 选择版本

选择一个版本用于当前终端:

$ sdk use scala 2.12.1

5.7 设置默认版本

$ sdk default scala 2.11.6

5.8 查看当前使用的版本

$ sdk current javaUsing java version 8u111#查看所有本地包的当前版本
$ sdk currentUsing:groovy: 2.4.7java: 8u111scala: 2.12.1

5.9 sdk版本升级

$ sdk upgrade springbootUpgrade:springboot (1.2.4.RELEASE, 1.2.3.RELEASE < 1.2.5.RELEASE)# 本地所有sdk全部升级
$ sdk upgradeUpgrade:gradle (2.3, 1.11, 2.4, 2.5 < 2.6)grails (2.5.1 < 3.0.4)springboot (1.2.4.RELEASE, 1.2.3.RELEASE < 1.2.5.RELEASE)

5.10 离线模式

$ sdk offline enableForced offline mode enabled.$ sdk offline disableOnline mode re-enabled!

当电脑没有网的时候,离线模式会进行自动切换.

5.11 SDKMAN!版本升级

$ sdk selfupdate# 强制重新安装
$ sdk selfupdate force

5.12 查看安装的 sdk版本列表

$ sdk current java

SDKMAN!使用指南相关推荐

  1. Spring Boot参考指南

    Spring Boot参考指南 作者 菲利普·韦伯,戴夫 Syer,约什 长,斯特凡 尼科尔,罗布 绞车,安迪·威尔金森,马塞尔 Overdijk,基督教 杜普伊斯,塞巴斯蒂安·德勒兹,迈克尔·西蒙斯 ...

  2. Spring Boot 中文参考指南

    Spring Boot 版本 2.7.8 原文:https://docs.spring.io/spring-boot/docs/2.7.8/reference/htmlsingle/ - 笔者注: S ...

  3. 使用Spring Boot指南(零)

    如果您是从Spring Boot或" Spring"开始的,请先阅读本节.它回答了基本的"什么?","如何?"和"为什么?&quo ...

  4. SDKMAN 软件开发工具包管理器

    SDKMAN 是用来在类Unix 系统中管理多个版本的开发环境的工具.提供命令行接口来安装.切换.删除.列出候选版本. SDKMAN!是在大多数基于Unix的系统上管理多个软件开发套件的并行版本的工具 ...

  5. 超详细中文预训练模型ERNIE使用指南-源码

    作者 | 高开远,上海交通大学,自然语言处理研究方向 最近在工作上处理的都是中文语料,也尝试了一些最近放出来的预训练模型(ERNIE,BERT-CHINESE,WWM-BERT-CHINESE),比对 ...

  6. 入门指南目录页 -PaddlePaddle 飞桨 入门指南 FAQ合集-深度学习问题

    入门指南目录页 -PaddlePaddle 飞桨 入门指南 FAQ合集 GT_Zhang关注 0.1012019.08.01 18:43:34字数 1,874阅读 795 Hi,欢迎各位来自Paddl ...

  7. ASIC设计-终极指南

    ASIC设计-终极指南 ASIC Design – The Ultimate Guide ASIC设计-终极指南 ASICs代表特定于应用的集成电路,指的是针对特定应用而设计的半导体解决方案,与其他解 ...

  8. Python神经网络集成技术Guide指南

    Python神经网络集成技术Guide指南 本指南将介绍如何加载一个神经网络集成系统并从Python运行推断. 提示 所有框架的神经网络集成系统运行时接口都是相同的,因此本指南适用于所有受支持框架(包 ...

  9. 深度学习框架集成平台C++ Guide指南

    深度学习框架集成平台C++ Guide指南 这个指南详细地介绍了神经网络C++的API,并介绍了许多不同的方法来处理模型. 提示 所有框架运行时接口都是相同的,因此本指南适用于所有受支持框架(包括Te ...

最新文章

  1. 爬取猫眼怦然心动电影评论
  2. GAN网络生成:感知损失(Perceptual Losses)
  3. 关于PHP $_SERVER[’PHP_SELF’]安全
  4. JStorm与Storm源码分析(二)--任务分配,assignment
  5. python 将counter 的结果转换为字典
  6. 【Java文件操作】txt文件的创建
  7. python爬虫之逆向破解_Python爬虫进阶之APP逆向(二)
  8. php表单的提交方法有什么,php – 确定哪个表单已提交的最佳方法是什么?
  9. 计算机蓝屏代码0x0000007b,电脑开机出现蓝屏代码0x0000007b怎么办?
  10. 短视频剪辑如何入门?短视频剪辑常用的配音软件
  11. IE8中text-align:center偏左的解决办法
  12. Word 连续使用格式刷
  13. LNMP架构搭建编译安装详细部署
  14. 数据库的读写分离、分库分表(一)
  15. java 判断两个字符串相等
  16. 腾讯云容器团队内部Istio专题分享
  17. 判断一个点是否在闭合曲线内
  18. 【openstack-rally】使用rally执行tempest api测试并导出测试报告
  19. [蓝桥杯python] 无聊的逗:逗志芃在干了很多事情后终于闲下来了,然后就陷入了深深的无聊中。不过他想到了一个游戏来使他更无聊。他拿出n个木棍,然后选出其中一些粘成一根长的,然后再选一些粘成另一个长
  20. Diazo Biotin-PEG3-DBCO,二苯并环辛炔PEG3重氮生物素,无铜 Click Chemistry

热门文章

  1. win10 网络重置后WIFI不见了
  2. web移动端安卓和ios兼容问题
  3. 安卓应用 - 公开市场上传投放
  4. 可以免费下载视频素材和模板网站汇总
  5. 仿微信朋友圈图片上传
  6. 如何快速制作App应用软件?国内有哪些比较好用的App制作平台?
  7. 点击右键计算机属性弹出任务管理器,win10查看内存条型号的步骤
  8. termux获取sd卡读写权限_原来是用错了读卡器,雷克沙lexar 1667X 真实读写性能测试...
  9. Kanzi自定义插件节点属性、自定义消息以及自定义响应
  10. 假设检验3- 卡方分布