RedHat下JDK1.6安装-利用alternative实现多版本并存(Ubuntu同理)
雖然本文講的是RH下面的配置,不過Ubuntu里也是一樣的!
RedHat es下安裝過程很簡單,Sun下載JDK1.6包,解壓,然后rpm安裝
安裝完后,在etc/profile.d/下建立java.sh,代碼如下
JAVA_HOME=/usr/java/jdk1.6.0
PATH=$PATH: $JAVA_HOME/bin
CLASSPATH=.: $JAVA_HOME/lib/dt.jar: $JAVA_HOME/lib/tools.jar
export JAVA_HOME PATH CLASSPATH
注銷
重新登陸
特別注意:設置變量時,RedHat下變量分隔符為 冒號 : 而不是Win系的 分
號 ;
[root@localhost ~]# echo $CLASSPATH
.:/usr/java/jdk1.6.0/lib/dt.jar:/usr/java/jdk1.6.0/lib/tools.jar
[root@localhost ~]# echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:
/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/usr/java/jdk1.6.0/bin:/root/bin:
/usr/java/jdk1.6.0/bin
[root@localhost ~]# echo $JAVA_HOME
/usr/java/jdk1.6.0
問題:很不幸,控制臺下 java -version,我看到的卻是1.4.0
原來我的系統中已經安裝過其他java版本
難道安裝sun新版jdk前需要卸載這個jdk1.4.0?
google 后發現,原來RedHat下遠沒有Win系統這么麻煩。RedHat中有一種可替代系統(alternatives system)機制, 來抽象出不同軟件或者同一軟件不同版本運行時的位置和“商標”,以消除更替環境的需要。而update-alternatives 就是這種機制的的實現。因此可以用update-alternatives 來實現兩個jdk并存,并且根據需要方便切換。
首選 update-alternatives --dispaly java,看看當前java軟件的當前配置,尤其是路徑的優先級
然后我們配置java軟件配置,使其使用我們剛才的JDK1.6
update-alternatives --config java
如果一切順利這時候我們可以看到系統中可供使用的java配置方案。不過由于JDK1.6版本比較新,我本身的RedHat無法檢測到,所以需要利用update-alternatives --install選項手工添加再可選擇列表中
我們采用 update-alternatives --install 選項,賦予JDK1.6這新JVM最高的級別(設置為60),以達到添加如列表中的目的,具體如下
# update-alternatives --install /usr/bin/java java /usr/java/jdk1.6.0/jre/bin/java 60
--slave /usr/share/man/man1/java.1.gz java.1.gz /usr/lib/jvm/jdk1.6.0/man/man1/java.1
然后update-alternatives --config java選擇添加的JDK1.6配置方案
這時如果在終端下查看java -version,就會看到1.6字樣
注:由于update-alternatives本質是利用ln的方式實現影射的方式來實現可替代系統
因此具體使用時,我們也可以通過命令查看其映像路徑,進而了解其影射細節。以java為例
終端下 # which java
/usr/lib/java
#ls -l usr/lib/java
即可得到其影射路徑,依次下去,即可看到此命令最終使用的是那個文件,以達到了解其影射細節的目的轉載于:https://www.cnblogs.com/earl86/archive/2008/10/26/1666545.html
總結
以上是生活随笔為你收集整理的RedHat下JDK1.6安装-利用alternative实现多版本并存(Ubuntu同理)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 谁说高性能本一定厚重!戴尔灵越16 Pl
- 下一篇: Asp.net如何截屏