关于Linux系统下jdk版本切换问题(alternatives命令的使用)

复制代码
[root@danny lib]# cd /usr/lib/jvm
[root@danny jvm]# 
[root@danny jvm]# ls
java                                                java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64        jre-1.7.0-openjdk-1.7.0.191-2.6.15.4.el7_5.x86_64
java-1.7.0                                          java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64-debug  jre-1.8.0
java-1.7.0-openjdk                                  java-openjdk                                           jre-1.8.0-openjdk
java-1.7.0-openjdk-1.7.0.191-2.6.15.4.el7_5.x86_64  jre                                                    jre-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64
java-1.8.0                                          jre-1.7.0                                              jre-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64-debug
java-1.8.0-openjdk                                  jre-1.7.0-openjdk                                      jre-openjdk
[root@danny jvm]# ll
total 12
lrwxrwxrwx  1 root root   26 Nov  5 13:27 java -> /etc/alternatives/java_sdk
lrwxrwxrwx  1 root root   32 Nov  5 13:27 java-1.7.0 -> /etc/alternatives/java_sdk_1.7.0
lrwxrwxrwx  1 root root   40 Nov  5 13:27 java-1.7.0-openjdk -> /etc/alternatives/java_sdk_1.7.0_openjdk
drwxr-xr-x 10 root root 4096 Nov  5 13:27 java-1.7.0-openjdk-1.7.0.191-2.6.15.4.el7_5.x86_64
lrwxrwxrwx  1 root root   32 Sep  5 16:54 java-1.8.0 -> /etc/alternatives/java_sdk_1.8.0
lrwxrwxrwx  1 root root   40 Sep  5 16:54 java-1.8.0-openjdk -> /etc/alternatives/java_sdk_1.8.0_openjdk
drwxr-xr-x  9 root root 4096 Nov  5 13:40 java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64
drwxr-xr-x  9 root root 4096 Sep  5 16:54 java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64-debug
lrwxrwxrwx  1 root root   34 Nov  5 13:27 java-openjdk -> /etc/alternatives/java_sdk_openjdk
lrwxrwxrwx  1 root root   21 Nov  5 13:27 jre -> /etc/alternatives/jre
lrwxrwxrwx  1 root root   27 Nov  5 13:27 jre-1.7.0 -> /etc/alternatives/jre_1.7.0
lrwxrwxrwx  1 root root   35 Nov  5 13:27 jre-1.7.0-openjdk -> /etc/alternatives/jre_1.7.0_openjdk
lrwxrwxrwx  1 root root   54 Nov  5 13:27 jre-1.7.0-openjdk-1.7.0.191-2.6.15.4.el7_5.x86_64 -> java-1.7.0-openjdk-1.7.0.191-2.6.15.4.el7_5.x86_64/jre
lrwxrwxrwx  1 root root   27 Sep  5 16:54 jre-1.8.0 -> /etc/alternatives/jre_1.8.0
lrwxrwxrwx  1 root root   35 Sep  5 16:54 jre-1.8.0-openjdk -> /etc/alternatives/jre_1.8.0_openjdk
lrwxrwxrwx  1 root root   51 Sep  5 16:54 jre-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64 -> java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64/jre
lrwxrwxrwx  1 root root   57 Sep  5 16:54 jre-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64-debug -> java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64-debug/jre
lrwxrwxrwx  1 root root   29 Nov  5 13:27 jre-openjdk -> /etc/alternatives/jre_openjdk
[root@danny jvm]# ls /etc/alternatives/java_sdk
bin  demo  include  jre  lib  sample  src.zip  tapset
[root@danny jvm]# alternatives
--config java (版本切换) There are 3 programs which provide 'java'. Selection Command ----------------------------------------------- 1 java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64-debug/jre/bin/java) *+ 2 java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64/jre/bin/java) (当前版本) 3 java-1.7.0-openjdk.x86_64 (/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.191-2.6.15.4.el7_5.x86_64/jre/bin/java) Enter to keep the current selection[+], or type selection number: 3 (切换为1.7版本) [root@danny jvm]# alternatives --config java (以下可以看到+号在1.7版本处,不变还是输入3退出) There are 3 programs which provide 'java'. Selection Command ----------------------------------------------- 1 java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64-debug/jre/bin/java) * 2 java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64/jre/bin/java) + 3 java-1.7.0-openjdk.x86_64 (/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.191-2.6.15.4.el7_5.x86_64/jre/bin/java) Enter to keep the current selection[+], or type selection number: 3 [root@danny jvm]# java -version (可以看到已经变为1.7版本了) java version "1.7.0_191" OpenJDK Runtime Environment (rhel-2.6.15.4.el7_5-x86_64 u191-b01) OpenJDK 64-Bit Server VM (build 24.191-b01, mixed mode)
复制代码

 

注释:在探究linux中jdk版本切换时发现了如下一行

lrwxrwxrwx  1 root root   26 Nov  5 13:27 java -> /etc/alternatives/java_sdk

网上搜了以下alternatives这个文件是什么东东时,才发现这是一个可以进行jdk版本切换的命令,命令格式如下:

alternatives --config java

 

 

注:以上工具了解即可,实际生产环境是用的更多的还是通过修改环境变量控制java版本的,

实现将jdk安装在不同目录下,在环境变量中引用路径即可。

 

posted @   叮伱格斐呃  阅读(1965)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
Live2D
欢迎阅读『关于Linux系统下jdk版本切换问题(alternatives命令的使用)』
点击右上角即可分享
微信分享提示