RedHat下JDK1.6安装-利用alternative实现多版本并存

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值