博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Ubuntu安装Sun JDK及如何设置默认java JDK
阅读量:4321 次
发布时间:2019-06-06

本文共 3513 字,大约阅读时间需要 11 分钟。

假设系统为Ubuntu 10.10 64位。

   先来看看当前的系统默认的java版本,及提供商。通过命令java -version
     caoqitong@ubuntu:~$ 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的命令方式自动安装:
       caoqitong@ubuntu:~$ sudo apt-get install sun-java6-jdk
   可是,在Ubuntu 10.10 的32位及64位中,都无法直接通过该命令安装,也许是名字变了。
   我们采用的是手动安装的方法:
    先到sun 官网, 下载 JDK。(sun已经被oracle收购了,因此会自动重定向到oracle官网),这里我们下载的是jdk-6u26-linux-x64.bin,因为这里先假设的是Ubuntu 64位。应对你的需求,可以下对应的版本,比如32位的jdk-6u26-linux-i586.bin。
     比如,安装到/opt目录中,先使用mv命令,将该bin文件移动到opt目录下:
       caoqitong@ubuntu:~$ sudo mv Download/jdk-6u26-linux-x64.bin /opt
      (可能要求输入用户名密码,因为用的是sudo命令)
     然后切换到/opt目录下,并通过chmod命令赋予该bin可执行权限:
       caoqitong@ubuntu:/opt$ sudo chmod +x jdk-6u26-linux-x64.bin  
    
      执行安装:
       caoqitong@ubuntu:/opt$ sudo sh jdk-6u26-linux-x64.bin
     或 caoqitong@ubuntu:/opt$ sudo ./jdk-6u26-linux-x64.bin   
   
  - 设置JAVA_HOME环境变量:     
   如果设置全局的环境变量(针对所用用户):
      caoqitong@ubuntu:/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)
     当然也可以基于安全考虑,只针对当前用户设置环境变量:
     caoqitong@ubuntu:~$ gedit .bashrc
      把上面三行export语句copy到文件末尾即可。
 
  - 设置默认JDK
    SUN JDK已经算安装完毕,可当我们用java -version时发现,仍旧是使用的老的OpenJDK。
 需要我们更改系统的默认JDK设置:
    caoqitong@ubuntu:/opt$ sudo update-alternatives --install /usr/bin/java java /opt/jdk1.6.0_26/bin/java 300
    caoqitong@ubuntu:/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:
     caoqitong@ubuntu:/opt$ sudo update-alternatives --list java
         /opt/jdk1.6.0_26/bin/java
         /usr/lib/jvm/java-6-openjdk/jre/bin/java
    配置:
    caoqitong@ubuntu:/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:
   caoqitong@ubuntu:/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
     caoqitong@ubuntu:~$ 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)

转载于:https://www.cnblogs.com/leyton/p/4743719.html

你可能感兴趣的文章
第五天站立会议内容
查看>>
ATMEGA16 IOport相关汇总
查看>>
面试题5:字符串替换空格
查看>>
[Codevs] 线段树练习5
查看>>
Amazon
查看>>
hMailServer搭建简单邮件系统
查看>>
从零开始学习jQuery
查看>>
opacity半透明兼容ie8。。。。ie8半透明
查看>>
CDOJ_24 八球胜负
查看>>
Alpha 冲刺 (7/10)
查看>>
一款jQuery打造的具有多功能切换的幻灯片特效
查看>>
SNMP从入门到开发:进阶篇
查看>>
@ServletComponentScan ,@ComponentScan,@Configuration 解析
查看>>
unity3d 射弹基础案例代码分析
查看>>
thinksns 分页数据
查看>>
os模块
查看>>
最短路径(SP)问题相关算法与模板
查看>>
js算法之最常用的排序
查看>>
Python——交互式图形编程
查看>>
经典排序——希尔排序
查看>>