使用update-alternatives切换ubuntu下默认java命令
2015-11-05 09:37
246 查看
我的ubuntu系统中,既安装了openjdk,又安装了jdk5,jdk6.
其中,openjdk是使用debian自动安装,安装在/usr/lib/jvm/java-6-openjdk中。
系统自动地将openjdk设为默认java命令环境。
Java代码
:~/download$ ll /usr/bin/java
lrwxrwxrwx 1 root root 22 2011-09-09 17:36 /usr/bin/java -> /etc/alternatives/java*
:~/download$ ll /etc/alternatives/java
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代码
/home/wuekzhu/download/jdk1.5.0_22
和
Ruby代码
/home/wuekzhu/download/jdk1.6.0_23
目录下。
---------------------------------------------------------------------------------------------------------------------------------------
现在,我要使用update-alternatives将系统的默认java环境变成jdk1.6
首先使用update-alternatives --config java,可以看到当前当前是使用openjdk的,
Ruby代码
/etc/alternatives/java 是 link 到 /usr/lib/jvm/java-6-openjdk/jre/bin/java
然后,使用以下命令配置jdk1.6,实际上就是把jdk1.6的软链接替代openjdk的,当然update-alternatives会记录有哪些候选命令。
Java代码
sudo update-alternatives --install /usr/bin/java java /home/wuekzhu/download/jdk1.6.0_23/bin/java 1888
这样之后,就ok了:
Java代码
$ update-alternatives --config java
有 2 个候选项可用于替换 java (提供 /usr/bin/java)。
选择 路径 优先级 状态
------------------------------------------------------------
0 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 自动模式
* 1 /home/wuekzhu/download/jdk1.6.0_23/bin/java 1 手动模式
2 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 手动模式
现在,/usr/bin/java 已经指向我们的 jdk1.6 了:
Ruby代码
:~/download$ ll /usr/bin/java
lrwxrwxrwx 1 root root 22 2011-09-09 17:36 /usr/bin/java -> /etc/alternatives/java*
:~/download$ ll /etc/alternatives/java
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
其中,openjdk是使用debian自动安装,安装在/usr/lib/jvm/java-6-openjdk中。
系统自动地将openjdk设为默认java命令环境。
Java代码
:~/download$ ll /usr/bin/java
lrwxrwxrwx 1 root root 22 2011-09-09 17:36 /usr/bin/java -> /etc/alternatives/java*
:~/download$ ll /etc/alternatives/java
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代码
/home/wuekzhu/download/jdk1.5.0_22
和
Ruby代码
/home/wuekzhu/download/jdk1.6.0_23
目录下。
---------------------------------------------------------------------------------------------------------------------------------------
现在,我要使用update-alternatives将系统的默认java环境变成jdk1.6
首先使用update-alternatives --config java,可以看到当前当前是使用openjdk的,
Ruby代码
/etc/alternatives/java 是 link 到 /usr/lib/jvm/java-6-openjdk/jre/bin/java
然后,使用以下命令配置jdk1.6,实际上就是把jdk1.6的软链接替代openjdk的,当然update-alternatives会记录有哪些候选命令。
Java代码
sudo update-alternatives --install /usr/bin/java java /home/wuekzhu/download/jdk1.6.0_23/bin/java 1888
这样之后,就ok了:
Java代码
$ update-alternatives --config java
有 2 个候选项可用于替换 java (提供 /usr/bin/java)。
选择 路径 优先级 状态
------------------------------------------------------------
0 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 自动模式
* 1 /home/wuekzhu/download/jdk1.6.0_23/bin/java 1 手动模式
2 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 手动模式
现在,/usr/bin/java 已经指向我们的 jdk1.6 了:
Ruby代码
:~/download$ ll /usr/bin/java
lrwxrwxrwx 1 root root 22 2011-09-09 17:36 /usr/bin/java -> /etc/alternatives/java*
:~/download$ ll /etc/alternatives/java
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
相关文章推荐
- 关于打包自定义标签,并导入项目使用时,出现java.lang.NoClassDefFoundError: JspException异常,解决方法和注意事项!
- myeclipse不能在线更新插件的解决办法
- java JDK环境变量的配置及在win7控制台下dos执行java小程序
- Eclipse .classpath文件浅谈
- Java学习(二十):获取系统参数
- JVM/JRE/JDK关系图
- Java对象的深层拷贝
- java的学习路径
- Java中的访问控制
- java swing做的定时关机精灵
- spring基于注解的属性注入
- java设计模式之工厂设计模式
- JFinal+maven+freemarker入门教程
- Java编程中利用InetAddress类确定特殊IP地址的方法
- struts之<bean:write>及<logic:iterate>
- Myeclipse导入工程中文乱码问题
- myeclipse6.5 反编译工具 jadclipse jad java反编译
- 解决eclipse中git插件中的cannot open git-upload-pack问题
- Eclipse is running in a JRE, but a JDK is required 解决方法(转)
- 浅谈Eclipse寻找JVM(JRE)的顺序机制(转)