装了Ubuntu 与 Windows双系统,但也是几乎很少使用,以至于面试时被 CitiBank 的 Ricky Li 问得只有惭愧的份。但是不要紧,知错能改,善莫大焉。
继前天在 Ubuntu 11.04 上搭建好了 ROR 环境,今天试着来搭建 Java 的开发环境。在网上关于 Ubuntu 11.04 安装 JDK 7 的文章比较少,所以写下这篇留作自己的笔记,也作为给其它初学的朋友参考的资料吧。
虽说在 Ubuntu 下可以很方面的使用软件中心安装 OpenJDK 来替代。但是这是里只有 OpenJDK 6, 既然 Oracle JDK 7 已经发布了,那就必须要试下。
PS. 我认为作为一个程序员,应该保持一颗对事物充满好奇的童心。
接下来开始介绍下安装方法:
1、到 Oracle 官网下载 JDK 7 的二进制压缩包。下载地址:http://download.oracle.com/otn-pub/java/jdk/7/jdk-7-linux-i586.tar.gz
2、解压。我求方便,就把压缩包放下用户目录下,然后打开终端:
$tar xvzf ~/jdk-7-linux-i586.tar.gz
这里的压缩包名根据各位下载的版本自行更改。当然,输入jdk后<TAB>键自动补全是比较好的习惯。我解压这个文件包之后得到 jdk1.7.0 文件夹。
3、将解压这个文件包之后的文件夹移到你所希望的安装目录下。我是放在 /usr/local/lib/jdk1.7.0 中,一旦你喜欢,放用户目录下也可以。
$sudo mv ~/jdk1.7.0/ /usr/local/lib/
移动后这时你就能在 /usr/local/lib/中看到 jdk1.7.0 文件夹了。
4、配置环境
$sudo gvim /etc/environment
打开环境配置相关文件。对了,这一步各们不一定要用 gvim 去打开,因为你不一定装了gvim,用 gedit, vi 等打开也一样。
不熟悉 vim 的请使用 gedit
打开后可以看到:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
一行文字,你们的可能跟我的有些出入。
将其修改为:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/lib/jdk1.7.0/bin"
CLASSPATH=.:/usr/local/lib/jdk1.7.0/lib
JAVA_HOME=/usr/local/lib/jdk1.7.0
其中的jvm/jdk1.7.0等请跟据自己下载的安装包和安装目录对号修改。然后重新加载.bashrc 5、到这里后运行 javac, java, 等命令还是不能用,和 windows 安装配置后就可以用不一样。
接下来再执行接下来命令:
$sudo update-alternatives --install /usr/bin/java java /usr/local/lib/jdk1.7.0/bin/java 300
$sudo update-alternatives --install /usr/bin/javac javac /usr/local/lib/jdk1.7.0/bin/javac 300
$sudo update-alternatives --install /usr/bin/javap javap /usr/local/lib/jdk1.7.0/bin/javap 300
$sudo update-alternatives --install /usr/bin/javadoc javadoc /usr/local/lib/jdk1.7.0/bin/javadoc 300
到这里全部安装配置好了,可以运行 $java -version 试试。
有些朋友可能会下载 rpm 的包来安装,因为大家是在 Ubuntu 下安装,不推荐下载。这里有一段 Goolge 出来的官网原文:
Some Linux platforms, such as Red Had and SUSE, are RPM-based, which provide an automated way to install software. Some Linux distributions, such as Ubuntu, are not RPM-based. For these Linux systems, you must manually install the Java platform by using a self-extracting binary file.