Ubuntu中使用update-alternatives命令切换JAVA版本

作者:袖梨 2022-06-30

之前ubuntu系统的jdk是apt-get install命令安装,默认装的是openjdk,路径在/usr/lib/jvm/。如果需要切换,或者升级java版本,那么可以使用update-alternatives来完成。当然你可以卸载重新安装,也可以通过设置环境变量安装。这里介绍使用update-alternatives安装的用法。

Linux 发展到今天,可用的软件已经非常多了。这样自然会有一些软件的功能大致上相同。例如,同样是编辑器,就有 nvi、vim、emacs、nano,而且我说的这些还只是一部分。大多数情况下,这样的功能相似的软件都是同时安装在系统里的,可以用它们的名称来执行。例如,要执行 vim,只要在终端下输入 vim 并按回车就可以了。不过,有些情况下我们需要用一个相对固定的命令调用这些程序中的一个。例如,当我们写一个脚本程序时,只要写下 editor,而不希望要为“编辑器是哪个”而操心。Debian 提供了一种机制来解决这个问题,而 update-alternatives 就是用来实现这种机制的。

一、查看java命令可选的命令

root@ubuntu:~# update-alternatives --display java
java - manual mode
  link currently points to /usr/lib/jvm/jdk1.7.0_80/bin/java
/usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java - priority 1061
  slave java.1.gz: /usr/lib/jvm/java-6-openjdk-amd64/jre/man/man1/java.1.gz
/usr/lib/jvm/jdk1.7.0_45/bin/java - priority 300
/usr/lib/jvm/jdk1.7.0_80/bin/java - priority 300
Current 'best' version is '/usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java'.
使用--display参数,它使我们可以看到一个命令的所有可选命令。

二、下载JDK

jdk安装我一般是下载源码,然后解压到指定目录。一键脚本:http://www.sijitao.net/scripts 。

# wget -c http://download.chekiang.info/java/jdk-7u45-linux-x64.tar.gz
# tar zxvf jdk-7u45-linux-x64.tar.gz
# mv jdk1.7.0_45 /usr/lib/jvm/
三、安装

update-alternatives  --install  /usr/bin/java java /usr/lib/jvm/jdk1.7.0_45/bin/java 300
安装完成后可以用--display参数查看是否安装成功。

使用--config这个参数,可以使我们查看当前选择的java命令,和选择其中一个命令程序来作为java的默认执行命令。

例如:

root@ubuntu:~# update-alternatives --config java
There are 3 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                            Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java   1061      auto mode
  1            /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java   1061      manual mode
  2            /usr/lib/jvm/jdk1.7.0_45/bin/java                300       manual mode
* 3            /usr/lib/jvm/jdk1.7.0_80/bin/java                300       manual mode

Press enter to keep the current choice[*], or type selection number: 3
root@ubuntu:~# java -version
java version "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)
root@ubuntu:~# update-alternatives --config java
There are 3 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                            Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java   1061      auto mode
  1            /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java   1061      manual mode
  2            /usr/lib/jvm/jdk1.7.0_45/bin/java                300       manual mode
* 3            /usr/lib/jvm/jdk1.7.0_80/bin/java                300       manual mode

Press enter to keep the current choice[*], or type selection number: 2
update-alternatives: using /usr/lib/jvm/jdk1.7.0_45/bin/java to provide /usr/bin/java (java) in manual mode.
root@ubuntu:~# java -version                   
java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)

相关文章

精彩推荐