Ubuntu下双JDK配置
在Ubuntu下搭建工作环境,用apt-get的方式安装了jdk6。但是公司的业务大多针对企业,而企业中的各种服务器软件更新较慢,旧的系统大部分是was5,于是jdk6和jdk1.4的并存就比较重要了。
1、先安装jdk6:用新立得或者$sudoapt-getinstallsun-java6-jdk
2、配置环境变量
$sudogedit/etc/environment
在最后添加
CLASSPATH=.;/usr/lib/jvm/java-6-sun-1.6.0.13/lib
JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.13
CATALINA_HOME=/opt/tomcat6
$sudogedit/etc/profile
在最后添加
exportCATALINA_HOME=/opt/tomcat6
exportCLASSPATH=.;$JAVA_HOME/lib;$CATALINA_HOME/lib
exportPATH=$PATH;$CATALINA_HOME/bin
不需要tomcat的可以把它去掉。
3、安装jdk1.4,从官网下载j2sdk-1_4_2_19-linux-i586.bin
$sudocpj2sdk-1_4_2_19-linux-i586.bin/usr/lib/jvm/
$sudo./j2sdk-1_4_2_19-linux-i586.bin
然后是很长很长的许可,一直回车吧,当它问你yes/no的时候,输入yes回车。
这样在/usr/lib/jvm下就会解压出一个j2sdk1.4.2_19的目录,做一个链接以便今后使用
$sudoln-sj2sdk1.4.2_19java-1.4.2-sun
java-1.4.2-sun这个链接的名字随意
4、此时执行
$sudoupdate-alternatives--configjava
由于jdk6是apt-get安装,jdk4是手动安装,因此只有一个jdk6被认出来。若要把jdk4也加入,则进行如下操作:
$sudoupdate-alternatives--displayjava
显示:
java-状态为auto
链接目前指向/usr/lib/jvm/java-6-sun/jre/bin/java
/usr/lib/jvm/java-6-sun/jre/bin/java-优先级63
slavejava.1.gz:/usr/lib/jvm/java-6-sun/jre/man/man1/java.1.gz
可以看到其优先级是63,我需要再做个优先级60,比jdk6低的jdk4链接。优先级高低看你以哪个jdk为主,今后也可以根据--configjava来修改,没有关系
执行
$sudoupdate-alternatives--install/usr/bin/javajava/usr/lib/jvm/java-1.4.2-sun/jre/bin/java60--slave/usr/share/man/man1/java.1.gzjava.1.gz/usr/lib/jvm/java-1.4.2-sun/man/man1/java.1
建立好链接,再执行
$sudoupdate-alternatives--displayjava
java-状态为auto
链接目前指向/usr/lib/jvm/java-6-sun/jre/bin/java
/usr/lib/jvm/java-6-sun/jre/bin/java-优先级63
slavejava.1.gz:/usr/lib/jvm/java-6-sun/jre/man/man1/java.1.gz
/usr/lib/jvm/java-1.4.2-sun/jre/bin/java-优先级60
slavejava.1.gz:/usr/lib/jvm/java-1.4.2-sun/man/man1/java.1
目前“最佳”的版本为/usr/lib/jvm/java-6-sun/jre/bin/java。
可以看到jdk1.4已加入配置中,今后若要对优先级进行调整
执行:$sudoupdate-alertnatives--configjava即可
//今天碰到的新问题,我两个jdk都是用bin解压装的,这样直接添加update-alternatives即可,不要在profile和environment中添加JAVA_HOME,否则无法切换