Ubuntu版本:
12.04 x64
jdk版本:
jdk-1_5_0_22-linux-amd64.bin
jdk-6u31-linux-x64.bin
方法1:
1、首先解压两个jdk到某个目录,比如/usr/lib/jvm目录下,两个jdk目录分别为jdk1.5.0_22/ 和jdk1.6.0_31/1
2、增加命令的可选方案: update-alternative --install <link> <name> <path> <priority>
示例: java命令
~$ sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.6.0_31/bin/java 3
~$ sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.5.0_22/bin/java 2
3、选择命令的版本
update-alternatives --config <name>
4、查看命令到所有版本
update-alternatives --display <name>
5、删除命令到可选方案
update-alternatives –remove <name> <path>
update-alternatives实际上创建了一个链接/usr/bin/java,同时这个链接指向/usr/bin/java -> /etc/alternatives/java,而/etc/alternatives/java指向实际的命令/usr/lib/jvm/jdk1.6.0_31/bin/java。
方法2:
在已经安装好多个JDK之后,想要切换的时候,只需要修改~/.bashrc中的 JAVA_HOME环境变量
#java
#export JAVA_HOME=/usr/lib/jvm/jdk1.5.0_22
export JAVA_HOME=/usr/lib/jvm/jdk1.6.0_31
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$PATH
当需要切换两个JDK的 时候,只需要将其中一个路径注释掉,然后source ~/.bashrc即可。
对于单个命令的切换可以用方法1,但是对于整个jdk环境切换最好用方法2,不知道还有没有更简便的方法。