自从Oracle收购Sun后,甲骨文宣布终结“Operating System Distributor License for Java”许可证,这意味着第三方将不可以依据这一许可分发他们的软件包。因此Ubuntu Linux已经开始禁用所有机器上的Oracle JDK浏览器插件,取而代之地,OpenJDK将取代它的位成为JDK在Ubuntu及其它Linux中默认安装。虽然很多Linux自带OpenJDK,但是在开发过程中与Oracle-JDK(SUN-JDK)还是略有不同。而且在编译一些源代码的时候可能会报缺少tool.jar的错误(jdk lib内的包)。所以,Java开发人员还是以Oracle-JDK为标准来进行开发。这里,介绍如何在Linux中安装配置Oracle JDK。
一. 下载JDK先到Oracle的官网上下载对应你的系统系统版本的JDK,如我的是 jdk-6u41-linux-x64.bin
http://www.oracle.com/technetwork/java/javase/downloads/index.html
二. 安装JDK
我们把JDK安装到这个路径:/usr/lib/jvm/java
如果没有这个目录(第一次当然没有),我们就自己新建。一般系统中已经有JVM这个目录,因为系统自带的OpenJDK就是安装在此目录,所以,我们在此目录下再新建一个java目录,用来安装我们自己的JDK。
cd /usr/lib(进入/usr/lib)
sudo mkdir jvm(没有jvm,就这样创建)
cd jvm(进入/usr/lib/jvm)
mkdir java(没有java,就再创建)
进入xxx.bin文件存放目录,把下载的xxx.bin文件移到刚创建的java目录
cd ~/下载
sudo mv jdk-6u34-linux-x64.bin /usr/lib/jvm/java
安装JDK
cd /usr/lib/jvm/java(说明是在该目录下罢了)
chmod+x jdk-6u34-linux-x64.bin(增加可执行权限)
sudo ./jdk-6u34-linux-x64.bin(执行文件,会将jdk解压至当前文件夹)
gedit /etc/profile会弹出一个文件,在此文件最后添加以下几句:
<span xmlns="http://www.w3.org/1999/xhtml" style="">export JAVA_HOME=/usr/lib/jvm/java/jdk1.6.0_41
export JRE_HOME=/usr/lib/jvm/java/jdk1.6.0_41/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$JAVA_HOME:$PATH
</span>
当然也可以基于安全考虑,只针对当前用户设置环境变量:
gedit .bashrc把上面三行export语句copy到文件末尾即可。保存退出,然后输入以下命令使操作生效。
source ~/.bashrc
(有些系统执行完以上步骤,已经将默认的jdk更改为为刚才安装的sum jdk了,如果还没更改过来,继续看如下操作)
四. 配置默认JDK
由于一些Linux的发行版中已经存在默认的JDK,如OpenJDK等。所以为了使得我们刚才安装好的JDK版本能成为默认的JDK版本,我们还要进行下面的配置。
执行下面的命令:(如果执行下列命令提示找不到路径,重启再重新执行命令就可以了)
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/java/jdk1.6.0_41/bin/java 300
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/java/jdk1.6.0_41/bin/javac 300
查看系统中各种JDK版本并配置我们安装的JDK为默认JDK
sudo update-alternatives --config java
此时系统会提示以下信息
有 2 个选项可用于替换项 java (提供 /usr/bin/java)。
选择 路径 优先级 状态
------------------------------------------------------------
* 0 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 自动模式
1 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 手动模式
2 /usr/lib/jvm/java/jdk1.6.0_41/bin/java 300 手动模式
要维持当前值[*]请按回车键,或者键入选择的编号:
guoke5@guoke5-pc:~$
这里当然选择我们自己安装的那个了,也就是编号2,然后回车,系统提示以下信息,表示默认JDK配置成功
update-alternatives: 使用 /usr/lib/jvm/java/jdk1.6.0_41/bin/java 来提供 /usr/bin/java (java),于 手动模式 中。
五. 测试JDK是否安装配置成功
打开一个终端,输入以下命令
java -version系统给出以下信息
guoke5@guoke5-pc:~$ java -version
java version "1.6.0_41"
Java(TM) SE Runtime Environment (build 1.6.0_41-b02)
Java HotSpot(TM) 64-Bit Server VM (build 20.14-b01, mixed mode)
guoke5@guoke5-pc:~$