1alternatives命令参数解释
基本语法:
alternatives --install <链接路径> <命令名称> <实际执行文件路径> <优先级>各参数含义:
<链接路径>:系统中命令的统一链接位置(固定路径,通常为/usr/bin/命令名)例如:
/usr/bin/java、/usr/bin/javac,这是用户实际调用的命令路径
<命令名称>:标识该命令的统一名称(自定义但需保持一致,通常与命令名相同)例如:
java、javac,用于后续切换版本时识别同一类命令
<实际执行文件路径>:对应 JDK 版本中命令的真实路径例如:
/usr/lib/jvm/java-1.8.0-openjdk/bin/java,即具体版本的可执行文件位置
<优先级>:数字值(如 100、200),决定默认版本(数值越大,默认优先级越高)当未手动切换时,系统会自动选择优先级最高的版本
2.注册 java 命令
1)注册 java
# 注册JDK 8的java命令(优先级100,数值越小优先级越低)
alternatives --install /usr/bin/java java /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.XXX.x86_64/bin/java 100
# 注册JDK 11的java命令(优先级200,更高优先级)
alternatives --install /usr/bin/java java /usr/lib/jvm/java-11-openjdk-11.0.XXX.x86_64/bin/java 200
2)注册 javac 命令
# 注册JDK 8的javac命令
alternatives --install /usr/bin/javac javac /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.XXX.x86_64/bin/javac 100
# 注册JDK 11的javac命令
alternatives --install /usr/bin/javac javac /usr/lib/jvm/java-11-openjdk-11.0.XXX.x86_64/bin/javac 2003.切换 java 版本
1)切换 java 版本
alternatives --config java
执行后会显示类似以下列表(编号可能不同):
共有 2 个程序提供“java”。
选择 命令
-----------------------------------------------
*+ 1 /usr/lib/jvm/java-11-openjdk-11.0.XXX.x86_64/bin/java
2 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.XXX.x86_64/bin/java
按 Enter 保留当前选项[+],或者输入选择的编号:
输入对应编号(如 2)并回车,即可切换到 JDK 8。
2)切换 javac 版本
alternatives --config javac4.验证版本切换结果
执行以下命令确认当前版本:
# 查看java版本
java -version
# 查看javac版本
javac -version5.删除注册
如需移除某个版本的注册,使用 --remove 命令:
alternatives --remove java /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.XXX.x86_64/bin/java
评论