ubuntu12.04 安装jdk1.6实战

(1)卸载openjdk

sudo apt-get remove openjdk*

(2)下载安装

然后从oracle下载jdk-6u37-linux-x64.bin,默认下载到了~/Downloads目录

chmod +x jdk-6u37-linux-x64.bin

./jdk-6u37-linux-x64.bin

此时在Downloads目录下有多出jdk1.6.0_37这个目录,原来默认安装到了当前目录下。
将它拷贝到/opt/java目录下

sudo mkdir /opt/java

sudo cp -r ~/Downloads/jdk1.6.0_37 /opt/java

(3)修改环境变量,(这里有一篇非常详细的文章)

sudo gedit /etc/environment

加入如下内容,保存
JAVA_HOME=/opt/java/jdk1.6.0_37
JRE_HOME=${JAVA_HOME}/jre
CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

更新配置
source ~/.bashrc

此时输入java -version

cyper@cyper-pc:/etc$ java -version
java version "1.5.0"
gij (GNU libgcj) version 4.6.3

Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
cyper@cyper-pc:/etc$

悲剧的是安装的sun  jdk没起作用。

(4)修改系统默认的jdk

这里

了解到要设置oracle jdk的优先级,,通过以下命令了解到当前的java指向了/usr/bin/gij-4.6
ls -l $(which java)
ls -l /etc/alternatives/java

通过以下命令让其指向oracle jdk,注意最后一个参数是priority,数值越大优先级越高,起初按照网上的搞法 写的是300,结果让人失望,后来改成10000,才搞定!

cyper@cyper-pc:/$ sudo update-alternatives --install /usr/bin/java java /opt/java/jdk1.6.0_37/bin/java 300
cyper@cyper-pc:/$ java -version
java version "1.5.0"
gij (GNU libgcj) version 4.6.3

Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
cyper@cyper-pc:/$ sudo update-alternatives --install /usr/bin/java java /opt/java/jdk1.6.0_37/bin/java 10000
update-alternatives: using /opt/java/jdk1.6.0_37/bin/java to provide /usr/bin/java (java) in auto mode.
cyper@cyper-pc:/$ java -version
java version "1.6.0_37"
Java(TM) SE Runtime Environment (build 1.6.0_37-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.12-b01, mixed mode)
cyper@cyper-pc:/$

接下来,同理执行如下命令
sudo update-alternatives --install /usr/bin/javac javac /opt/java/jdk1.6.0_37/bin/javac 10000
sudo update-alternatives --install /usr/bin/jar jar /opt/java/jdk1.6.0_37/bin/jar 10000
sudo update-alternatives --install /usr/bin/javah javah /opt/java/jdk1.6.0_37/bin/javah 10000
sudo update-alternatives --install /usr/bin/javap javap /opt/java/jdk1.6.0_37/bin/javap 10000

命令中各个参数的含义如下:

cyper@cyper-pc:/$ sudo update-alternatives --help
Usage: update-alternatives [<option> ...] <command>

Commands:
  --install <link> <name> <path> <priority>

对于以上命令的解释(来自网络)
  由于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是通过手动解压安装的。
现在输入下面的两行命令:
sudo update-alternatives --install /usr/bin/java java /usr/local/lib/jdk1.6.0_04/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/lib/jdk1.6.0_04/bin/java

补充:从这里http://my.oschina.net/fjxy/blog/81764了解到,
如何去查看当前的jdk有哪些版本及它们的优先级
sudo update-alternatives --config java


参考:http://www.doc88.com/p-332769039668.html
http://my.oschina.net/fjxy/blog/81764

http://hi.baidu.com/dkweb/item/59f540ff8589b56b3c1485cf

转载于:https://my.oschina.net/uniquejava/blog/99258

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值