Ubuntu 18.04中SDKMAN无法识别已安装Java,如何关联切换版本?
如何将系统已安装的Java关联到SDKMAN实现版本切换?
SDKMAN支持关联本地已安装的Java版本,不需要重新安装,具体操作步骤如下:
第一步:定位Java的安装路径
先找出系统中已安装Java的准确路径,可通过以下命令查询:# 查看系统中所有Java可执行文件的路径 update-alternatives --list java # 或者通过当前Java路径追踪到根目录 readlink -f $(which java)比如Oracle Java 8的路径可能是
/usr/lib/jvm/java-8-oracle,Adoptium Java 17的路径可能是/usr/lib/jvm/temurin-17-jdk-amd64。第二步:用SDKMAN关联本地Java版本
使用sdk install java命令的本地关联模式,格式为:sdk install java <自定义别名> <Java安装路径>示例:
# 关联Oracle Java 8,别名为oracle8 sdk install java oracle8 /usr/lib/jvm/java-8-oracle # 关联Adoptium Java 17,别名为adoptium17 sdk install java adoptium17 /usr/lib/jvm/temurin-17-jdk-amd64自定义别名可以随意设置,只要方便你识别不同版本即可。
第三步:切换和验证版本
关联完成后,即可通过SDKMAN切换Java版本:# 临时切换到Oracle Java 8 sdk use java oracle8 # 设置Adoptium Java 17为默认版本 sdk default java adoptium17执行
java -version或sdk current java验证版本是否生效,如果没生效,重启终端或者执行source ~/.sdkman/bin/sdkman-init.sh刷新环境变量。
内容的提问来源于stack exchange,提问作者mahfuj asif
相关产品推荐
相关产品推荐

