Ubuntu下双JDK配置

  在Ubuntu下搭建工作环境,用apt-get的方式安装了jdk6 。 但是公司的业务大多针对企业,而企业中的各种服务器软件更新较慢,旧的系统大部分是was5,于是jdk6和jdk1.4的并存就比较重要了。

1、先安装jdk6:用新立得或者$sudo apt-get install sun-java6-jdk

2、配置环境变量
$sudo gedit /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

$sudo gedit /etc/profile
在最后添加
export CATALINA_HOME=/opt/tomcat6
export CLASSPATH=.;$JAVA_HOME/lib;$CATALINA_HOME/lib
export PATH=$PATH;$CATALINA_HOME/bin

不需要tomcat的可以把它去掉。

3、安装jdk1.4 ,从官网下载j2sdk-1_4_2_19-linux-i586.bin
$sudo cp j2sdk-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的目录,做一个链接以便今后使用
$sudo ln -s j2sdk1.4.2_19 java-1.4.2-sun
java-1.4.2-sun这个链接的名字随意

4、此时执行
$sudo update-alternatives --config java
由于jdk6是apt-get安装,jdk4是手动安装,因此只有一个jdk6被认出来。若要把jdk4也加入,则进行如下操作:
$sudo update-alternatives --display java
显示:
java - 状态为 auto
链接目前指向 /usr/lib/jvm/java-6-sun/jre/bin/java
/usr/lib/jvm/java-6-sun/jre/bin/java - 优先级 63
slave java.1.gz:/usr/lib/jvm/java-6-sun/jre/man/man1/java.1.gz
可以看到其优先级是63,我需要再做个优先级60,比jdk6低的jdk4链接。优先级高低看你以哪个jdk为主,今后也可以根据--config java来修改,没有关系

执行
$sudo update-alternatives  --install /usr/bin/java java /usr/lib/jvm/java-1.4.2-sun/jre/bin/java 60  --slave /usr/share/man/man1/java.1.gz java.1.gz /usr/lib/jvm/java-1.4.2-sun/man/man1/java.1
建立好链接,再执行
$sudo update-alternatives --display java
java - 状态为 auto
链接目前指向 /usr/lib/jvm/java-6-sun/jre/bin/java
/usr/lib/jvm/java-6-sun/jre/bin/java - 优先级 63
slave java.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
slave java.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已加入配置中,今后若要对优先级进行调整
执行:$sudo update-alertnatives --config java即可

//今天碰到的新问题,我两个jdk都是用bin解压装的,这样直接添加update-alternatives即可,不要在profile和environment中添加JAVA_HOME,否则无法切换

你可能感兴趣的:(java,jvm,jdk,ubuntu,sun)