1、认识需要配置的环境变量
  1). PATH:  作用是指定命令搜索路径,打开/etc/environment可以看到PATH变量的值,该变量包含了一系列的路径。那些路径都是一些经常使用的系统命令的目录地址,如:、/sbin、/bin等。在bash终端执行命令时,系统会自动到PATH变量所指定的路径中查找是否能找到相应的命令程序。因此,我们需要把jdk安装目录下的bin目录增加到现存的PATH变量中让使用java命令如同系统命令一样方便。
  2). CLASSPATH:   作用是指定类搜索路径,让jvm能够通过它找到编写好的类。(不能漏了当前目录“.”)
  3). JAVA_HOME:   指向jdk的安装目录,方便其他软件找到jdk的工作目录:如Eclipse等。

2、下载JDK
    下载的包如下:jdk-7u25-linux-x64.tar.gz, 另外一个rpm包适合基于RedHat系列的Linux发行版。而tar.gz格式只是一个压缩包,因此只要使用解压到相应路径就可以了。我使用的是Ubuntu amd64,故选择64位版本:jdk-7u25-linux-x64.tar.gz,下载后解压到了/usr/lib/java/目录下。

3、解压安装
      创建安装目录(自定义):    mkdir /usr/lib/java/
      复制安装包到以上目录:    sudo cp jdk-7u25-linux-x64.tar.gz /usr/lib/java/
      解压该压缩包:            sudo tar zxvf jdk-7u25-linux-x64.tar.gz  得到文件夹:jdk1.7.0_25

4、配置JDK的环境变量

第一种(修改所有用户的环境变量,安全性较低)
    #以root身份打开并编辑profile文件:
        sudo gedit /etc/profile
    #set java environment
        JAVA_HOME=/usr/lib/java/jdk1.7.0_25
        CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH
        PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
        PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
        #CLASSPATH中的“.”表示当前目录,不要漏掉哦!
        #千万记得加入原来的PATH变量(同理CLASSPATH):$PATH,不然PATH变量就只剩下java的路径了。
        #也可以不加入第三句:(直接补充在原来的PATH后面)
        #PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
        #只用第四句会出现递归定义,即更新时:source /etc/profile 会重复出现PATH内容,不过不影响使用。
    #export用于将变量输出为全局变量
        export JAVA_HOME
        export CLASSPATH
        export PATH
    #end of set java environment
    #保存环境变量更改
        source /etc/profile
        #可能需要重新登陆

第二种(貌似和第三种原理一样,有待验证!)
    #以root身份打开并编辑environment文件:
        sudo gedit /etc/environment
        #添加的内容同/etc/profile
    #更新环境变量:
        source /etc/environment
        #可能需要重新登陆

第三种(只修改指定用户的环境变量,其他用户使用jdk需要授权,因此比较安全。)
    #vi ~/.bashrc添加:
        export JAVA_HOME=/usr/lib/java/jdk1.7.0_25
        export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH
        export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
    #更新环境变量:
        source ~/.bashrc
        #可能需要重新登陆

5、删除open-jdk(ubuntu11.04的时候需要)
      由于ubuntu 13.04 中没有预装open-jdk,所以并不需要更改默认jvm实现。

6、重启系统或重新登录

7、查看java版本
    java -version
    javac -version

Ubuntu12.04下搭建Java环境的更多相关文章

  1. 嵌入式开发(一) Ubuntu12.04下搭建交叉编译环境

    操作系统:Ubuntu12.04 AMD64位 交叉编译环境:arm-Linux gcc版本4.4.3 前言: 首先理解一下交叉编译的意思.我们要给嵌入式设备写应用程序,但是又不能在嵌入式设备上完成所 ...

  2. Ubuntu12.04 下搭建Java开发环境

    1:下载 jdk-7u40-linux-i586.tar.gz. 2:解压安装. (1)创建jvm目录:sudo mkdir -p /usr/lib/jvm (2)sudo tar zxvf ./ j ...

  3. Java学习心得之 Linux下搭建Java环境

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Java学习心得之 Linux下搭建Java环境 1.前言2.JDK安装3.配置环境变量4. ...

  4. Ubuntu18.04下搭建LAMP环境

    一.Apache2 web 服务器的安装 : 可以先更新一下服务器 1.sudo apt-get update             # 获取最新资源包 2.sudo apt-get upgrade ...

  5. Ubuntu 18.04.1 搭建Java环境和HelloWorld

    一.搭建Java环境 系统环境 Ubuntu 18.04.1 JDK 8 IDEA 2018.2 1.下载JDK 官网地址:http://www.oracle.com/technetwork/java ...

  6. ubuntu12.04下安卓编译环境搭建总结

    前言:      因为工作需要,经常要编译安卓下的动态库,公司有已经搭建好环境的服务器,但是第一自己想自己搭建一下了解一个整个过程,另外,公司的服务器也经常出现问 题,导致编译不了,所以就想自己搭建环 ...

  7. Ubuntu12.04下arm交叉编译环境的建立

    http://blog.csdn.net/heyangya2009/article/details/5424376 备注:ubuntu12.04+Android+Real6410 在主机上用来编译其他 ...

  8. windowsXP下搭建JAVA环境教程

    一.工具准备安装JKD6:传送门:http://www.java.net/download/jdk6/6u10/promoted/b32/binaries/jdk-6u10-rc2-bin-b32-w ...

  9. 如何在centos环境下搭建java环境

    在CentOS上安装Java环境:[1]使用yum安装java 现阶段做企业级项目开发一般都采用Java语言.开发的项目需要放在服务器上运行测试,若以CentOS系统为服务器系统,首先要解决就是Cen ...

随机推荐

  1. 生产者消费者模型(Queue,JoinableQueue)

    生产者消费者模型 主要是为解耦 借助队列来实现生产者消费者模型 栈:先进后出(First In Last Out 简称 FILO) 队列: 先进先出(First In First Out 简称 FIF ...

  2. 初试mysql5.7.2新特性:多源复制(MySQL 5.7 multi-source replication)

    多源复制和多主复制的区别: 多主复制示意图: 多源复制示意图: 在my.cnf中添加crash safe特性参数:master_info_repository=TABLE;relay_log_info ...

  3. [ilink32 Error] Error: Unresolved external '__fastcall Data::Win::Adodb::TCustomADODataSet

    [ilink32 Error] Error: Unresolved external '__fastcall Data::Win::Adodb::TCustomADODataSet::GetParam ...

  4. Unresolved external CheckAutoResult

    // [Linker   Error]Unresolved   external   'System::__linkproc__   __fastcall   CheckAutoResult() '  ...

  5. shutil模块(高级的文件copy)

    import shutil import os f1 = open('本节笔记.txt', encoding = 'utf-8') f2 = open('笔记2', 'w', encoding = ' ...

  6. XML学习记录1-复习SAX,DOM和JAXB

    对xml文档的解析常见的有JDK中的sax,dom,jaxb,stax和JAVA类库JDOM和DOM4J,下面先说说前三个. Java中解析XML的工具很多,像JDOM,DOM4J等,但Java标准库 ...

  7. ng2-file-upload 使用记录

    最近这两周一直在修bug,修的很是痛苦,不过痛苦也是件好事,不然每天都是在做同样的事情,没有什么挑战,工作多无聊呀! 是吧. 大致说一下背景吧: 这个项目是两年前开新项目,到现在一直还在开发中,一直不 ...

  8. Linux运维就业技术指导(九)期末架构考核

    一,毕业架构设计考核筹备 1.1,架构图模板示例 1.1.1 架构图(一)概述 本架构是4层lvs负载均衡给后方7层nginx反向代理: 业务进行了动静分离: 数据库前端有memcached缓存组,降 ...

  9. R画散点图、线型图、箱型图、直方图基本知识

    1.导入数据 2.散点图 plot(iris[,1]~iris[,4],xlab='Length',ylab='Width',col='red',main='Length VS Width')

  10. Bioconductor的历史

    ---------------------------------------------------------------Bioconductor------------------------- ...