ubuntu安装多版本JDK

我目前的系统默认安装openJDK 1.7,但是编译android source code要求JDK版本为1.6

1. 下载JDK

直接通过搜索进入oracle官网下载对应的版本即可,我这里下载的是jdk-6u45-linux-x64.bin

2.安装jdk

直接将jdk-6u45-linux-x64.bin文件复制到安装目录然后在shell下执行即可

sudo cp jdk-6u45-linux-x64.bin /opt/
cd /opt/
sudo chmod a+x ./jdk-6u45-linux-x64.bin
sudo ./jdk-6u45-linux-x64.bin

3.选择需要的jdk

同样按照步骤2,我在/opt目录安oracle jdk 1.7 ,但是目前系统中只有内置的openjdk 1.7可用,oracle jdk需要export才可以使用。可以通过update-alternatives命令来实现选择系统中的java版本

首先为java和javac安装多选链接

sudo update-alternatives --install /usr/bin/java java /opt/jdk/jdk1.6.0_45/bin/java 2
sudo update-alternatives --install /usr/bin/java java /opt/jdk/jdk1.7.0_25/bin/java 3

sudo update-alternatives --install /usr/bin/javac javac /opt/jdk/jdk1.6.0_45/bin/javac 2
sudo update-alternatives --install /usr/bin/javac javac /opt/jdk/jdk1.7.0_25/bin/javac 3

之后就可以很方便的通过update-alternatives命令配置使用哪个版本的jdk

sudo update-alternatives --config java
sudo update-alternatives --config javac


按照提示选择对应的版本即可。


注意,最好对javah javap javadoc同时进行上述操作,不然可能在编译中出现奇怪问题,如http://blog.csdn.net/michaelpp/article/details/22184733,就是只切换了java和javac工具的版本,而没有切换javap工具的版本导致编译出错。


UPDATE:

上面的方法过于繁琐,需要逐个配置而且配置不全。最好的方法是使用ppa安装jdk做到安装时就可以实现设置alternative,并且后期可以一键切换。

openjdk我们可以通过apt-get安装,而oracle jdk可以通过如下ppa安装,installer会从oracle下载bin安装包并且自动配置java,以jdk8为例:

$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt-get update
$ sudo apt-get install oracle-java8-installer

之后我们可以通过update-java-alternative方便的切换全局java环境,在我的电脑上可以看到安装了三个版本的java,当前使用的是openjdk7

$ sudo update-java-alternatives -l
java-1.7.0-openjdk-amd64 1051 /usr/lib/jvm/java-1.7.0-openjdk-amd64  
java-6-oracle 1052 /usr/lib/jvm/java-6-oracle  
java-7-oracle 1053 /usr/lib/jvm/java-7-oracle  

$ java -version  
java version "1.7.0_75"  
OpenJDK Runtime Environment (IcedTea 2.5.4) (7u75-2.5.4-1~precise1)  
OpenJDK 64-Bit Server VM (build 24.75-b04, mixed mode)  


通过-s参数可以方便的切换到其它的java版本

$ sudo update-java-alternatives -s java-7-oracle

$ java -version
java version "1.7.0_76"
Java(TM) SE Runtime Environment (build 1.7.0_76-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.76-b04, mixed mode)



猜你喜欢

转载自blog.csdn.net/w_xue/article/details/18657275