RedHat下JDK1.6安裝-利用alternative實現多版本並存

來源:互聯網
上載者:User

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

即可得到其影射路徑,依次下去,即可看到此命令最終使用的是那個檔案,以達到瞭解其影射細節的目的 

http://www.lukfor.com

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.