假设系统为Ubuntu 10.10 64位。
  
先来看看当前的系统默认的java版本,及提供商。通过命令java -version
     
kemix@kemix-VB10-64:~$ java -version

    
java version
"1.6.0_20"
     
OpenJDK Runtime Environment (IcedTea6 1.9.9)
(6b20-1.9.9-0ubuntu1~10.10.2)
     
OpenJDK 64-Bit Server VM (build 19.0-b09, mixed mode)
 
  
根据这个信息,我们可以知道,当前默认的java jdk是OpenJDK 1.6.0 64位VM。
  
现在我们想要安装SunJDK,并且设置为默认的JDK,以便我们在任何地方,都能直接使用的是Sun的JDK,而不是OpenJDK。

-
安装SunJDK
   首先,安装SunJDK,
有的文章说可以通过Ubunttu的命令方式自动安装:
       
kemix@kemix-VB10-64:~$
sudo apt-get install
sun-java6-jdk

可是,在Ubuntu
10.10 的32位及64位中,都无法直接通过该命令安装,也许是名字变了。
   我们采用的是手动安装的方法:
    先到sun
官网,www.sun.com 下载
JDK。(sun已经被oracle收购了,因此会自动重定向到oracle官网),这里我们下载的是jdk-6u26-linux-x64.bin,因为这里先假设的是Ubuntu
64位。应对你的需求,可以下对应的版本,比如32位的jdk-6u26-linux-i586.bin。

比如,安装到/opt目录中,先使用mv命令,将该bin文件移动到opt目录下:
       
kemix@kemix-VB10-64:~$
sudo mv Download/jdk-6u26-linux-x64.bin /opt
     
(可能要求输入用户名密码,因为用的是sudo命令)

然后切换到/opt目录下,并通过chmod命令赋予该bin可执行权限:
   
    kemix@kemix-VB10-64:/opt$
sudo chmod +x
jdk-6u26-linux-x64.bin

执行安装:
    
   kemix@kemix-VB10-64:/opt$
sudo sh jdk-6u26-linux-x64.bin
    
或  kemix@kemix-VB10-64:/opt$
sudo ./jdk-6u26-linux-x64.bin   
   
  -
设置JAVA_HOME环境变量:

如果设置全局的环境变量(针对所用用户):

kemix@kemix-VB10-64:/opt$
sudo
gedit /etc/profile

export JAVA_HOME=/opt/jdk1.6.0_26

export 
PATH=$JAVA_HOME/bin:$PATH
   
   export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib

把上面添加的,原封不动的copy到文件末尾(在umask
022之后)。
     
(PS,Linux的路径分割符是冒号“:”,大家知道Win下是分号“;”,此处切忌不要在分号前后留空白,鄙人曾经为了好看些,就人为的加入了些前后空格,结果可想而知,所有命令都没法用了,后果很严重啊!打开shell,还会报:bash:
export: `/opt/jdk1.6.0_26/bin:': not a valid identifier)

当然也可以基于安全考虑,只针对当前用户设置环境变量:
     
kemix@kemix-VB10-64:~$
gedit
.bashrc
     
把上面三行export语句copy到文件末尾即可。

- 设置默认JDK
    SUN
JDK已经算安装完毕,可当我们用java -version时发现,仍旧是使用的老的OpenJDK。
 需要我们更改系统的默认JDK设置:
    
kemix@kemix-VB10-64:/opt$
sudo
update-alternatives --install /usr/bin/java java
/opt/jdk1.6.0_26/bin/java 300
    
kemix@kemix-VB10-64:/opt$ sudo
update-alternatives --install /usr/bin/javac javac
/opt/jdk1.6.0_26/bin/javac 300
  update-alternatives: using
/opt/jdk1.6.0_26/bin/javac to provide /usr/bin/javac (javac) in
auto mode.

接下来,我们先看看,系统中已经存在的JDK:
     
kemix@kemix-VB10-64:/opt$ sudo
update-alternatives --list java
        
/opt/jdk1.6.0_26/bin/java
        
/usr/lib/jvm/java-6-openjdk/jre/bin/java

配置:
    
kemix@kemix-VB10-64:/opt$ sudo
update-alternatives --config java
There are 2 choices for the
alternative java (providing /usr/bin/java).

Selection   
Path                                     
Priority  
Status
------------------------------------------------------------

*
0           
/usr/lib/jvm/java-6-openjdk/jre/bin/java  
1061     
auto mode
 
1           
/opt/jdk1.6.0_26/bin/java                        
300      
manual mode
 
2           
/usr/lib/jvm/java-6-openjdk/jre/bin/java  
1061     
manual mode

Press enter to keep the
current choice[*], or type selection number: 1
update-alternatives: using
/opt/jdk1.6.0_26/bin/java to provide /usr/bin/java (java) in manual
mode.

*
表示当前的默认JDK,可以看出是OpenJDK,同时可以看到刚安装的Sun
JDK,序号为1,且之前设置的状态值300。
  这里需要你输入设置默认的序号,这里当然我们选1。

这里,你可以再次执行该命令来查看我们的设置是否ok:
    kemix@kemix-VB10-64:/opt$ sudo
update-alternatives --config java
There are 2 choices for the
alternative java (providing /usr/bin/java).

Selection   
Path                                     
Priority  
Status
------------------------------------------------------------

0           
/usr/lib/jvm/java-6-openjdk/jre/bin/java  
1061     
auto mode
*
1           
/opt/jdk1.6.0_26/bin/java                 
300      
manual mode
 
2           
/usr/lib/jvm/java-6-openjdk/jre/bin/java  
1061     
manual mode

Press enter to keep the
current choice[*], or type selection number: 1
  
  由于这里已经成功设置了Sun
JDK,所以,这里重复选择后,没有效果了。

-
验证默认JDK
注销后重新登录,使用命令java -version
     
kemix@kemix-VB10-64:~$ java -version
 java
version "1.6.0_26"
Java(TM) SE Runtime
Environment (build 1.6.0_26-b03)
Java HotSpot(TM) 64-Bit
Server VM (build 20.1-b02, mixed mode)

可以看到,已经是默认的Sun JDK了

 

Ubuntu安装Sun JDK及如何设置默认java JDK的更多相关文章

  1. Ubuntu 安装JDK并配置成为默认的JDK

    Ubuntu安装JDK 系统版本:Ubuntu 15.04 x64 JDK版本:jdk-8u60-linux-x64 1.查看系统位数,输入以下命令即可 getconf LONG_BIT 2.下载对应 ...

  2. Ubuntu安装Sun JDK

    Ubuntu 14.04 下安装 Sun JDK 1.8.0 1.下载JDK http://www.oracle.com/technetwork/java/javase/downloads/jdk8- ...

  3. ubuntu 设置 默认的JDK路径

    首先查询有多少种JDK已经被安装了 sudo update-alternatives --list java 其次 配置你想默认的JDK sudo update-alternatives --conf ...

  4. JDK1.7 和JDK1.8同时存在设置默认的JDK

    最近学习SpringCloud需要安装JDK1.8 但是自己的项目在1.8的环境中运行不了 无论怎么修改使用cmd  中命令的java -version 都显示是jdk 1.8 将java home  ...

  5. Ubuntu 安装 Sun JDK

    1. 下载    Oracle网站下载JDK7     http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1 ...

  6. ubuntu安装Shutter截图工具以及设置系统快捷键

    一.安装截图工具 Shutter 1. 添加安装包软件源 sudo add-apt-repository ppa:shutter/ppa 2. 更新源并安装 shutter sudo apt-get ...

  7. [转]centos7 安装jdk11 并设置默认java版本

    https://www.server-world.info/en/note?os=CentOS_7&p=jdk11&f=2 OpenJDK 11 : Install 2018/10/1 ...

  8. Centos安装Sun的JDK及测试

    查询系统默认的JDK Centos系统(我vm上安装的是Centos6.3)默认会安装OpenJDK,要想使用默认的JDK,也需要你自己配置环境变量. 首先,检查系统是否安装有JDK并且OpenJDK ...

  9. 给idea设置默认使用的JDK

    一,前言 在文章给idea设置默认使用的maven配置中我给我的idea设置了默认使用的maven,并且在setting.xml文件中,设置了本地的maven仓库,这样就不会使用maven默认在C盘的 ...

随机推荐

  1. 3大主流NoSQL数据库性能对比测试报告

    近日,知名独立基准测评机构Bankmark,针对目前市面上主流的NoSQL数据库SequoiaDB.MongoDB以及Cassandra三款NoSQL数据库产品做了性能对比测试并发布测试报告.在所有的 ...

  2. C#基础学习文章导航

    第一部分:入个门 C#入门篇-1:HelloWorld的类 C#入门篇-2:什么是变量 C#入门篇-3:数据类型及转换 C#入门篇-4:使用运算符 第二部分:流程控制语句 C#入门篇5-1:流程控制语 ...

  3. Resume InlineHookSSDT

    在InlineHook中修改了zwOpenProcess函数的中的指令 与Resume HookSSDT同理 找出一个正确的值覆盖上去就行. 突发奇想  有没有可能上去一个驱动或者程序  直接卸载掉I ...

  4. jquery返回上一页面

    window.location.href=document.referrer;   返回然后刷新 window.history.back(-1);  返回不刷新

  5. Oracle 过程控制语句整理

    分支语句/循环语句 v_case ) :; begin then dbms_output.put_line('条件成立'); elsif then then dbms_output.put_line( ...

  6. 在Win7下安装IIS

    由于工作上的需要,有朋友在问在windows7系统下如何来配置IIS,大部分用户平时都很少接触到这个功能,所以对于安装配置十分陌生也是在所难免的,下面就让小编与你分享下windows7系统下IIS详细 ...

  7. 详解centos用户&组权限&添加删除用户

    1.Linux用户操作系统 Linux操作系统是多用户多任务操作系统,包括用户账户和组账户两种: 细分用户账户(普通用户账户,超级用户账户)除了用户账户以为还有组账户所谓组账户就是用户账户的集合,ce ...

  8. 从python中copy与deepcopy的区别看python引用

    讨论copy与deepcopy的区别这个问题要先搞清楚python中的引用.python的内存管理. python中的一切事物皆为对象,并且规定参数的传递都是对象的引用.可能这样说听起来比较难懂,对比 ...

  9. 浏览器Firefox新标签页默认打开地址设置

    1.地址栏输入about:config 2.找到browser.newtab.url 修改它的值为你想要的地址,如:https://www.baidu.com

  10. flash 和 第三方程序交互

    一.flash 端 修改 1.flash cs6  修改脚本 为as3 2.修改 按钮 实例 名 (不是sprite列表中的名字  实例名称 和这个名字 是2个) 3.时间轴上 添加代码 当前选择 A ...