使用update-alternatives切换ubuntu下默认java命令

来源:互联网 发布:vb安装包下载 编辑:程序博客网 时间:2024/04/17 02:49

我的ubuntu系统中,既安装了openjdk,又安装了jdk5,jdk6.

 

其中,openjdk是使用debian自动安装,安装在/usr/lib/jvm/java-6-openjdk中。

系统自动地将openjdk设为默认java命令环境。

Java代码  收藏代码
  1. :~/download$ ll /usr/bin/java  
  2. lrwxrwxrwx 1 root root 22 2011-09-09 17:36 /usr/bin/java -> /etc/alternatives/java*  
  3.   
  4. :~/download$ ll /etc/alternatives/java  
  5. lrwxrwxrwx 1 root root 43 2011-09-09 17:36 /etc/alternatives/java -> /usr/lib/jvm/java-6-openjdk/jre/bin/java  
 

而jdk1.5和jdk1.6,均是我下载bin文件后安装的,在

Ruby代码  收藏代码
  1. /home/wuekzhu/download/jdk1.5.0_22  

Ruby代码  收藏代码
  1. /home/wuekzhu/download/jdk1.6.0_23  

 

目录下。

---------------------------------------------------------------------------------------------------------------------------------------

 

现在,我要使用update-alternatives将系统的默认java环境变成jdk1.6

首先使用update-alternatives --config java,可以看到当前当前是使用openjdk的,

Ruby代码  收藏代码
  1.   /etc/alternatives/java 是 link 到 /usr/lib/jvm/java-6-openjdk/jre/bin/java   

 然后,使用以下命令配置jdk1.6,实际上就是把jdk1.6的软链接替代openjdk的,当然update-alternatives会记录有哪些候选命令。

 

Java代码  收藏代码
  1. sudo update-alternatives  --install  /usr/bin/java java /home/wuekzhu/download/jdk1.6.0_23/bin/java   1888  

 

这样之后,就ok了:

Java代码  收藏代码
  1. $ update-alternatives --config java  
  2. 有 2 个候选项可用于替换 java (提供 /usr/bin/java)。  
  3.   
  4.   选择       路径                                       优先级  状态  
  5. ------------------------------------------------------------  
  6.   0            /usr/lib/jvm/java-6-openjdk/jre/bin/java      1061      自动模式  
  7. 1            /home/wuekzhu/download/jdk1.6.0_23/bin/java   1         手动模式  
  8.   2            /usr/lib/jvm/java-6-openjdk/jre/bin/java      1061      手动模式  
 

现在,/usr/bin/java 已经指向我们的 jdk1.6 了:

 

Ruby代码  收藏代码
  1. :~/download$ ll /usr/bin/java  
  2. lrwxrwxrwx 1 root root 22 2011-09-09 17:36 /usr/bin/java -> /etc/alternatives/java*  
  3.   
  4. :~/download$ ll /etc/alternatives/java  
  5. lrwxrwxrwx 1 root root 43 2011-09-09 17:36 /etc/alternatives/java -> /home/wuekzhu/download/jdk1.6.0_23/bin/java*  

 

 

----------------------------------------------------------------------------------------------------------------------

 

另外,/etc/profile中path的设置,可以选择覆盖或不覆盖/usr/bin/java命令。

如果我这样设置profile,那么会使用jdk1.5 :

      #set java environment
      JAVA_HOME=/home/wuekzhu/download/jdk1.5.0_22
      CLASSPATH=.:$JAVA_HOME/lib.tools.jar
      PATH=$JAVA_HOME/bin:$PATH

如果我这样设置profile,那么会使用/usr/bin/java - > /etc/alternatives/java :

      #set java environment
      JAVA_HOME=/home/wuekzhu/download/jdk1.5.0_22
      CLASSPATH=.:$JAVA_HOME/lib.tools.jar
      PATH=$PATH:$JAVA_HOME/bin



原文链接:http://atell.iteye.com/blog/1169556

原创粉丝点击