使用安装的JDK替代系统默认的OpenJDK
linux中提供了update-alternatives命令,update-alternatives是linux系统(大部分linux系统都支持此命令)中专门维护系统命令链接符的工具,通过它可以很方便的设置系统默认使用哪个命令、哪个软件版本,而所有的这些就构成了备选方案系统(alternatives system)。
很多时候我们会将拥有相同或相似功能的不同应用程序安装在同一个操作系统上,例如同一个操作系统上的不同文本编辑器。这给了这个系统的用户在编辑文本时有了更多的选择,如果用户愿意他们可以自由选择任意一个来使用。
其实update-alternatives命令的功能很好理解,举个例子:在Window系统中,如果我们安装多个浏览器,比如有火狐、有IE、有360、有Chrome等,当我们从某个链接进去打开网页时,可能会问你使用哪个浏览器,当你选择某个浏览器时,此浏览器会问你是否把它作为默认浏览器,如果你选择了是,那下次点开某个链接时,就直接使用默认浏览器打开了!
现在我们在系统中同时安装了open jdk和sun jdk两个版本,(由于linux发行版本中默认使用OpenJDK的java命令 )而我们又希望系统默认使用的是sun jdk的java命令,那怎么办呢?通过update-alternatives就可以很方便的实现了。
首先运行以下命令查看java当前的默认配置
update-alternatives --display java
输出如下(后面有省略):
java - status is manual. link currently points to
/usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java
/usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java - priority 170131
slave keytool: /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/keytool
slave orbd: /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/orbd …
可以从输出中看到系统中java默认使用的OpenJDK,其中数字170131表示优先级。
下面进入正式配置阶段
- 把自己安装的SunJDK加入到备选系统中
运行命令(注意命令最后的数字表示优先级,其中170130为SunJDK的alternative的优先级)
update-alternatives --install /usr/bin/java java /opt/java/bin/java 170130
将/opt/java/bin/java换为自己的java路径。例如:
update-alternatives --install /usr/bin/java java /usr/local/jdk18/bin/java 1800261
- 选择自己安装的SunJDK作为首选java命令
运行命令
update-alternatives --config java
输出如下
There are 2 programs which provide ‘java’.
Selection Command
*+ 1 /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java
2 /opt/java/bin/java
Enter to keep the current selection[+], or type selection number:
config命令是交互式的命令,可以根据提示进行选择,此处我们选择2,即使用安装的SunJDK的java命令,然后按回车键!
至此,配置完成了!
说明:在配置步骤1中,我们指定SunJDK的优先级是170130(比当前优先级170131低),所以需要进行步骤二进行手动选择;如果我们指定的优先级比当前优先级170131高,则步骤二可以省略,系统自动会选择优先级高的作为默认alternative!
本文介绍了如何使用Linux中的`update-alternatives`命令将安装的SunJDK替换系统默认的OpenJDK。通过查看当前Java配置,增加SunJDK到备选系统,并设置其为默认选项,从而实现Java版本的切换。
1783

被折叠的 条评论
为什么被折叠?



