SDKMAN因为网络问题用不了怎么办?
SDKMAN是Linux环境下一款SDK多版本管理工具,可以帮助我们管理SDK多个版本。在使用的过程中,经常会出现因为网络问题导致无法安装某些SDK或者某些SDK的特定版本的问题,这里简要介绍一下解决办法。
SDKMAN目录结构
lwk@qwfys:~/.sdkman$ tree -d -L 3
.
├── archives
├── bin
├── candidates
│ ├── java
│ │ ├── 11.0.12-open
│ │ ├── 11.0.15-librca
│ │ ├── 17.0.3-librca
│ │ ├── 18.0.1.1-open
│ │ ├── 22.0.0.2.r11-grl
│ │ ├── 22.1.0.r17-grl
│ │ ├── 8.0.302-open
│ │ ├── 8.0.333-librca
│ │ └── current -> 8.0.333-librca
│ └── maven
│ ├── 3.8.5
│ ├── 3.8.6
│ └── current -> 3.8.6
├── contrib
│ └── completion
│ └── bash
├── etc
├── ext
├── src
├── tmp
│ └── out
└── var└── metadata27 directories
lwk@qwfys:~/.sdkman$
Java SDK版本
lwk@qwfys$ sdk list java
================================================================================
Available Java Versions for Linux 64bit
================================================================================Vendor | Use | Version | Dist | Status | Identifier
--------------------------------------------------------------------------------Corretto | | 18.0.1 | amzn | | 18.0.1-amzn | | 17.0.3.6.1 | amzn | | 17.0.3.6.1-amzn | | 17.0.0.35.1 | amzn | | 17.0.0.35.1-amzn | | 11.0.15.9.1 | amzn | | 11.0.15.9.1-amzn | | 11.0.12.7.1 | amzn | | 11.0.12.7.1-amzn | | 8.332.08.1 | amzn | | 8.332.08.1-amzn Dragonwell | | 11.0.12.8 | albba | | 11.0.12.8-albba | | 8.8.9 | albba | | 8.8.9-albba Gluon | | 22.1.0.1.r17 | gln | | 22.1.0.1.r17-gln | | 22.1.0.1.r11 | gln | | 22.1.0.1.r11-gln GraalVM | | 22.1.0.r17 | grl | installed | 22.1.0.r17-grl | | 22.1.0.r11 | grl | | 22.1.0.r11-grl | | 22.0.0.2.r17 | grl | | 22.0.0.2.r17-grl | | 22.0.0.2.r11 | grl | installed | 22.0.0.2.r11-grl | | 21.3.2.r17 | grl | | 21.3.2.r17-grl | | 21.3.2.r11 | grl | | 21.3.2.r11-grl | | 21.3.1.r8 | grl | | 21.3.1.r8-grl | | 21.2.0.r8 | grl | | 21.2.0.r8-grl | | 21.1.0.r8 | grl | | 21.1.0.r8-grl | | 20.3.6.r11 | grl | | 20.3.6.r11-grl | | 20.3.3.r8 | grl | | 20.3.3.r8-grl | | 20.3.2.r8 | grl | | 20.3.2.r8-grl | | 19.3.6.r11 | grl | | 19.3.6.r11-grl | | 19.3.6.r8 | grl | | 19.3.6.r8-grl Java.net | | 20.ea.2 | open | | 20.ea.2-open | | 20.ea.1 | open | | 20.ea.1-open | | 19.ea.27 | open | | 19.ea.27-open | | 19.ea.26 | open | | 19.ea.26-open | | 19.ea.25 | open | | 19.ea.25-open | | 19.ea.1.pma | open | | 19.ea.1.pma-open | | 18.0.1.1 | open | installed | 18.0.1.1-open | | 11.0.12 | open | installed | 11.0.12-open | | 11.0.11 | open | | 11.0.11-open | | 11.0.10 | open | | 11.0.10-open | | 11.0.2 | open | | 11.0.2-open | | 8.0.302 | open | installed | 8.0.302-open | | 8.0.292 | open | | 8.0.292-open | | 8.0.282 | open | | 8.0.282-open | | 8.0.265 | open | | 8.0.265-open Liberica | | 18.0.1.1.fx | librca | | 18.0.1.1.fx-librca | | 18.0.1.1 | librca | | 18.0.1.1-librca | | 17.0.3.1.fx | librca | | 17.0.3.1.fx-librca | | 17.0.3.1 | librca | | 17.0.3.1-librca | | 17.0.3 | librca | local only | 17.0.3-librca | | 11.0.15.fx | librca | | 11.0.15.fx-librca | | 11.0.15.1.fx | librca | | 11.0.15.1.fx-librca | | 11.0.15.1 | librca | | 11.0.15.1-librca | | 11.0.15 | librca | local only | 11.0.15-librca | | 8.0.333.fx | librca | | 8.0.333.fx-librca | >>> | 8.0.333 | librca | installed | 8.0.333-librca | | 8.0.332.fx | librca | | 8.0.332.fx-librca Liberica NIK | | 22.1.r17 | nik | | 22.1.r17-nik| | 22.1.r11 | nik | | 22.1.r11-nik | | 22.0.0.2.r17 | nik | | 22.0.0.2.r17-nik | | 22.0.0.2.r11 | nik | | 22.0.0.2.r11-nik | | 21.3.2.r17 | nik | | 21.3.2.r17-nik | | 21.3.2.r11 | nik | | 21.3.2.r11-nik | | 21.2 | nik | | 21.2-nik | | 21.1 | nik | | 21.1-nik | | 21.0.0.2.r11 | nik | | 21.0.0.2.r11-nik | | 21.0.0.2 | nik | | 21.0.0.2-nik Mandrel | | 22.1.0.0.r17 | mandrel | | 22.1.0.0.r17-mandrel| | 22.1.0.0.r11 | mandrel | | 22.1.0.0.r11-mandrel| | 22.0.0.2.r17 | mandrel | | 22.0.0.2.r17-mandrel| | 22.0.0.2.r11 | mandrel | | 22.0.0.2.r11-mandrel| | 21.3.2.0.r17 | mandrel | | 21.3.2.0.r17-mandrel| | 21.3.2.0.r11 | mandrel | | 21.3.2.0.r11-mandrel| | 21.3.1.1.r17 | mandrel | | 21.3.1.1.r17-mandrel| | 21.3.1.1.r11 | mandrel | | 21.3.1.1.r11-mandrel| | 21.3.1.0.r17 | mandrel | | 21.3.1.0.r17-mandrel| | 21.3.1.0.r11 | mandrel | | 21.3.1.0.r11-mandrel| | 21.3.0.0 | mandrel | | 21.3.0.0-mandrel | | 21.2.0.2 | mandrel | | 21.2.0.2-mandrel | | 20.3.3.0 | mandrel | | 20.3.3.0-mandrel Microsoft | | 17.0.3 | ms | | 17.0.3-ms | | 11.0.15 | ms | | 11.0.15-ms Oracle | | 18.0.1 | oracle | | 18.0.1-oracle | | 17.0.3 | oracle | | 17.0.3-oracle SapMachine | | 18.0.1.1 | sapmchn | | 18.0.1.1-sapmchn | | 17.0.3 | sapmchn | | 17.0.3-sapmchn | | 17.0.3.0.1 | sapmchn | | 17.0.3.0.1-sapmchn | | 17.0.2 | sapmchn | | 17.0.2-sapmchn | | 11.0.15 | sapmchn | | 11.0.15-sapmchn | | 11.0.15.0.1 | sapmchn | | 11.0.15.0.1-sapmchn | | 11.0.14 | sapmchn | | 11.0.14-sapmchn | | 11.0.14.1 | sapmchn | | 11.0.14.1-sapmchn Semeru | | 18.0.1.1 | sem | | 18.0.1.1-sem | | 17.0.3 | sem | | 17.0.3-sem | | 11.0.15 | sem | | 11.0.15-sem | | 8.0.332 | sem | | 8.0.332-sem Temurin | | 18.0.1 | tem | | 18.0.1-tem | | 17.0.3 | tem | | 17.0.3-tem | | 11.0.15 | tem | | 11.0.15-tem | | 8.0.332 | tem | | 8.0.332-tem Trava | | 11.0.9 | trava | | 11.0.9-trava | | 8.0.232 | trava | | 8.0.232-trava Zulu | | 18.0.1 | zulu | | 18.0.1-zulu | | 18.0.1.fx | zulu | | 18.0.1.fx-zulu | | 17.0.3 | zulu | | 17.0.3-zulu | | 17.0.3.fx | zulu | | 17.0.3.fx-zulu | | 11.0.15 | zulu | | 11.0.15-zulu | | 11.0.15.fx | zulu | | 11.0.15.fx-zulu | | 8.0.332 | zulu | | 8.0.332-zulu | | 8.0.332.fx | zulu | | 8.0.332.fx-zulu | | 7.0.342 | zulu | | 7.0.342-zulu | | 6.0.119 | zulu | | 6.0.119-zulu
================================================================================
Omit Identifier to install default version 17.0.3-tem:$ sdk install java
Use TAB completion to discover available versions$ sdk install java [TAB]
Or install a specific version by Identifier:$ sdk install java 17.0.3-tem
Hit Q to exit this list view
================================================================================
(END)
q
lwk@qwfys:~$
Maven版本
lwk@qwfys:~$ sdk list maven
================================================================================
Available Maven Versions
================================================================================> * 3.8.6 3.3.3 * 3.8.5 3.3.1 3.8.4 3.2.5 3.8.3 3.2.3 3.8.2 3.2.2 3.8.1 3.2.1 3.6.3 3.1.1 3.6.2 3.1.0 3.6.1 3.0.5 3.6.0 3.0.4 3.5.4 3.5.3 3.5.2 3.5.0 3.3.9 ================================================================================
+ - local version
* - installed
> - currently in use
================================================================================
(END)
q
lwk@qwfys:~$
看到这里,我们发现了一个技巧,那就是目录{SDKMAN_HOME}/candidates中的文件结构是{SDK}/{VERSION}这样的形式,如果目标下面有多个版本,软链接current指向我们期望设置的当前版本。
比说,maven当前版本是3.8.6,那么目录{SDKMAN_HOME}/candidates/maven中的current就指向3.8.6这个目录,即:
lwk@qwfys:~/.sdkman/candidates/maven$ ll
total 16
drwxrwxr-x 4 lwk lwk 4096 Jun 24 10:56 ./
drwxrwxr-x 4 lwk lwk 4096 Jun 6 15:12 ../
drwxr-xr-x 6 lwk lwk 4096 Mar 5 11:30 3.8.5/
drwxr-xr-x 6 lwk lwk 4096 Jun 6 16:16 3.8.6/
lrwxrwxrwx 1 lwk lwk 5 Jun 24 10:56 current -> 3.8.6/
lwk@qwfys:~/.sdkman/candidates/maven$
同样的,Java当前版本是Liberica提供的JDK 8.0.33,代号8.0.333-librca,即
Liberica | >>> | 8.0.333 | librca | installed | 8.0.333-librca
那么目录{SDKMAN_HOME}/candidates/java中的current就指向8.0.333-librca这个目录,即:
lwk@qwfys:~/.sdkman/candidates/java$ ll
total 40
drwxrwxr-x 10 lwk lwk 4096 Jun 24 09:16 ./
drwxrwxr-x 4 lwk lwk 4096 Jun 6 15:12 ../
drwxrwxr-x 10 lwk lwk 4096 Jul 15 2021 11.0.12-open/
drwxrwxr-x 9 lwk lwk 4096 Apr 20 12:53 11.0.15-librca/
drwxrwxr-x 9 lwk lwk 4096 Apr 19 14:03 17.0.3-librca/
drwxrwxr-x 8 lwk lwk 4096 Jun 6 16:42 18.0.1.1-open/
drwxrwxr-x 10 lwk lwk 4096 Jun 8 17:46 22.0.0.2.r11-grl/
drwxrwxr-x 10 lwk lwk 4096 Jun 6 17:10 22.1.0.r17-grl/
drwxrwxr-x 9 lwk lwk 4096 Jul 16 2021 8.0.302-open/
drwx------ 9 lwk lwk 4096 May 31 18:43 8.0.333-librca/
lrwxrwxrwx 1 lwk lwk 14 Jun 24 09:16 current -> 8.0.333-librca/
lwk@qwfys:~/.sdkman/candidates/java$
如此以来,我们只要通过其他手段将目标SDK对应版本按照上述规律放到目录{SDKMAN_HOME}/candidates/{SDK}/{VERSION}中,并在目录{SDKMAN_HOME}/candidates中的文件结构是{SDK}中创建软链接,指向期待的版本即可。这种方式与直接使用命令
sdk {sdk} default {VERSION}
的效果是一样的。
举例说明,我现在想将Java SDK版本设置为8.0.332-zulu,用命令是
sdk java default 8.0.332-zulu
相当于在目录{SDKMAN_HOME}/candidates/java中,用软链接current指向了目录8.0.332-zulu,而8.0.332-zulu中则是zulu为我们提供的JDK的8.0.332版本。
SDKMAN因为网络问题用不了怎么办?相关推荐
- 使用SDKMAN包管理器,在BSD-Unix系统上快捷安装软件(MacOS/OpenBSD/Solaris)
1. 第一步 安装软件 # 第一步 使用如下命令安装软件 ,国内网络可能不通,可以使用VPN $ curl -s "https://get.sdkman.io" | bash 2. ...
- 常规设置——SDKMAN
一.安装 [root@master ~]# yum install zip unzip -y [root@master ~]#curl -s "https://get.sdkman.io&q ...
- Sdkman运行时INTERNET NOT REACHABLE问题和解决
sdkman安装后,运行时,出现INTERNET NOT REACHABLE问题,如下图: 前提: 网络是通的,ping能用,aptitude能用: /etc/resov.conf配置了dns nam ...
- SDKMAN 软件开发工具包管理器
SDKMAN 是用来在类Unix 系统中管理多个版本的开发环境的工具.提供命令行接口来安装.切换.删除.列出候选版本. SDKMAN!是在大多数基于Unix的系统上管理多个软件开发套件的并行版本的工具 ...
- 苹果设备iphone,ipad,macbook网络连接慢,开机开什么卡什么,一步解决
苹果电脑网络连接慢,开机开什么卡什么??? 网络上的方法一种种,没有一个适用的? 如果你的macbook也是打开就没网,但有一些软件也能用,就是浏览器加载跑条儿,不妨试试! 系统偏好设置-网络-高级- ...
- 大数据学习01——配置虚拟机节点相关网络
1.配置mac地址和ip (1)更改适配器设置 找到这个后开始设置windows中的网络连接 (2)接着对三台虚拟机的mac地址和ip进行设置 1.mac地址设置 进入linux节点中的这个位置进行设 ...
- 【Docker】容器的几种网络模式
当你使用Docker时,你会发现需要了解很多关于网络的知识.Docker作为目前最火的轻量级容器引擎,因此,我们有必要深入了解Docker的网络知识,以满足更高的网络需求.本文介绍了Docker的4种 ...
- 2022-2028年中国网络直播行业深度调研及投资前景预测报告
[报告类型]产业研究 [出版时间]即时更新(交付时间约3个工作日) [发布机构]智研瞻产业研究院 [报告格式]PDF版 本报告介绍了网络直播行业相关概述.中国网络直播行业运行环境.分析了中国网络直播行 ...
- Redis 笔记(15)— 管道 pipeline(客户端将批量命令打包发送用来节省网络开销)
Redis 是一种基于客户端-服务端模型以及请求/响应协议的 TCP 服务.这意味着通常情况下一个请求会遵循以下步骤: 客户端向服务端发送一个查询请求,并监听 Socket 返回,通常是以阻塞模式,等 ...
最新文章
- wampserver下升级php7
- 如何使用Mockito模拟void方法
- 1.2机器学习基础下--python深度机器学习
- 在el-table中使用el-popover,没法点击确定或取消来关闭
- traybox错误怎么办_toolbox提示错误无法使用怎么办?
- list循环赋值_Python基础 | 0xd 条件判断与循环
- 喜马拉雅 Apache RocketMQ 消息治理实践
- Kubernetes-NodePort(十七)
- windows 本地搭建git仓库_Windows系统下搭建Git本地代码库
- frontend-tools
- 现代通信原理4.3:白噪声
- PHPStrom 快捷键
- vit transformer中的cls_token
- byte java 详解_详解java中的byte类型
- ADV7441驱动EDID配置及声音问题
- 科学计算机如何进行复数运算,教你如何用你的卡西欧学生计算器进行复数运算!...
- FullCalendar说明文档
- 起点中文网 字体反爬技术 网页可以显示数字字母 网页代码是乱码或空格
- 福建厦门双十计算机竞赛,22人夺一等奖!恭喜厦门一中、双十中学、实验中学...
- 设置每天定时给自己发送邮件、企业微信提醒
热门文章
- 菠萝V1一经问世将会掀起怎样的惊涛骇浪?
- 六套苹果CMSv10首涂手机视频站模板高端主题代码精简优化SEO
- 介绍一个牛逼的Github项目
- 密码学七:MD5算法
- deepin-wine的安装
- HENU 1062 luerの切割(2018哈理工程序设计原题)
- deepin 服务器_深度官方并没有提供Deepin服务器版下载,也没有开发计划
- mysql orderby asc_MySQL 数据排序 order by
- 用bootstrap写一个简洁的网页
- html5 舰c 手机,我国最新款导弹驱逐舰052D,主力战舰的不二之选,中国厉害了!...