RedHat系Linux指定默认的Java版本

RedHat系的系统环境中安装有多个版本的Java是一个比较普遍的现象。比如有历史程序运行在Java1.6上,部署的Hadoop套件运行在Java1.8上,因为其他目的需要使用Jshell,又需要使用Java9。
在任何特定的时间,在终端中输入

java -version

只可能指向其中的一个Java版本。
完全人工去维护java的指向是一件麻烦的事情,工具alternatives协助解决了这个问题,该工具源于Debain,所以使用也和Debain上差不多。

alternatives --config java
There are 3 programs which provide 'java'.

  Selection    Command
-----------------------------------------------
   1           java-11-openjdk.x86_64 (/usr/lib/jvm/java-11-openjdk-11.0.5.10-0.el7_7.x86_64/bin/java)
*+ 2           java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.232.b09-0.el7_7.x86_64/jre/bin/java)
   3           java-latest-openjdk.x86_64 (/usr/lib/jvm/java-13-openjdk-13.0.1.9-2.rolling.el7.x86_64/bin/java)

Enter to keep the current selection[+], or type selection number:

通过输入需要即可指定默认的Java运行时。
实际上 alternatives本身是一个通用的对可互相交换替代的程序进行选择的程序,不是只能用户管理Java,在系统的包被安装和移除的时候,相应的程序(准确上是叫链接组,alternatives是基于符号链接工作的)会被向/从alternatives中添加或者移除。

alternatives --list

可以列出所有可以配置的程序。

发布了106 篇原创文章 · 获赞 15 · 访问量 15万+

猜你喜欢

转载自blog.csdn.net/skyupward/article/details/103319022