Sun JDK的安装基本上有两种方式:
1. 通过Ubuntu提供的包管理工具进行安装
Ubuntu在其包仓库里都包括有JDK的安装,只要sources.list设置正确,通过apt-get, aptitude, Synaptic Package Manager等都能安装,而且相关的设置也容易得多;在Ubuntu的新 发布版本里都带了JDK5.0,和JDK6.0的安装支持,而且版本都比较高,和Sun官方的发布没有很大的 版本落差.以Ubuntu7.10来说,提供的JDK5的版本为:1.5.0.13,JDK6的版本是1.6.03,算是很新的版本了.
这种安装方式缺点是:对JDK具体版本的可选择性不是很灵活,你若是想安装最新的JDK版本,或由于特殊的原因必须安装特定的JDK版本,可能就比较费劲了。
所以,若以此种方式安装JDK,请先通过apt-cache search, aptitude, Synaptic Package Manager等工具查询你的Ubuntu发行版本可安装的JDK版本是否能符合你的开发要求;具体安装 步骤请看参阅部分提供的文档。
2. 通过Sun网站提供的自解压包进行手动的安装
这种方式显然有它的好处: 可自由选择JDK版本,能进行灵活的配置。其实JDK的配置是很简单的:能让系统找到JDK所在的目录(JAVA_HOME),以便调用其目录中bin目录下的相关命令脚本。
在此以Ubuntu7.10系统,Sun JDK 6.0 update 4为例说明一下具体的安装方式:
2.1. 从Sun站点(http://java.sun.com/网站内选择download里的j2se)下载jdk 6.0.4的Linux自解压文件 jdk-6u20-linux-i586.bin;
2.2. 安装配置
这里将下载的JDK放到我的主目录(/home/cwb)下,现在要拷到/usr/local/mysofeware/jdk目录下,在usr里存放的是用户软件,
cd /usr/local/mysofeware/jdk
用root权限拷贝JDK到/usr/local/mysofeware/jdk
sudo cp /home/cwb/jdk-6u20-linux-i586.bin ./
赋于JDK执行文件的可执行权限
sudo chmod +x jdk-6u20-linux-i586.bin
运行JDK程序
sudo ./jdk-6u20-linux-i586.bin
执行最后一步命令后便在当前目录下多了一个“jdk1.6.0_20“的目录,里面是jdk-6u20-linux-i586.bin解压后JDK的全部文件;
如果下面你的Ubuntu里没有装上JVM下面的步骤就可以省去,做了也不会坏:
由于Ununtu本身带了gij的JVM实现,所以当你在Terminal输入: "java -version"时会显示:
java version "1.5.0"
gij (GNU libgcj) version 4.2.1 (Ubuntu 4.2.1-5ubuntu5)
的相关信息。也就是系统中有两个JVM实现,而且gij JVM还被其它的Ubuntu工具或软件使用;所以这种情况下就得使用 Debian提供的“update-alternatives“工具来完成程序多版本实现的选择了:
sudo update-alternatives --display java
发现系统只列举了gij JVM;因为jdk6是通过手动解压安装的。
现在输入下面的两行命令(下面的第一行命令一定要做,做了之后,我们用java -version就会有反应了):
sudo update-alternatives --install /usr/bin/java java /usr/local/mysofeware/jdk/jdk1.6.0_20/bin/java 60
sudo update-alternatives --install /usr/bin/java java /usr/bin/gij-4.2 40
注意1,2行尾的60,40是优先级;现在把JDK6设为了首选;
输入: ls -l /etc/alternatives/java 发现JVM已经指向了jdk6的解压目录:
lrwxrwxrwx 1 root root 35 2008-01-25 17:55 /etc/alternatives/java -> /usr/local/mysofeware/jdk/jdk1.6.0_20/bin/java
cd /usr/bin
sudo cp java java.bak
sudo ln -sf /etc/alternatives/java .
现在再执行:
java -version
java version "1.6.0_20"
Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
Java HotSpot(TM) Client VM (build 16.3-b01, mixed mode, sharing)
若想变更JVM实现,输入:
sudo update-alternatives --config java
进行配置;
2. 3. 设置环境变量
在/etc/profile最后加入如下的内容:
JAVA_HOME=/usr/local/mysofeware/jdk/jdk1.6.0_20
JRE_HOME=/usr/local/mysofeware/jdk/jdk1.6.0_20/jre
CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME JRE_HOME CLASSPATH
上面的PAHT设置一定要加上,不然在其它地方用javac就没反应了,修改了这个文件后,
然后运行
source etc/profile
如果有提示错误信息,说明配置不成功,没有任任提示,表示配置成功!
JDK安装配置信息,我们可以用
echo $JAVA_HOME
echo $CLASSPATH
echo $PATH
命令来查看我们设置的环境变量是否有误。