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. ubuntu 安装 环境

    svn   https://blog.csdn.net/leibris/article/details/72982804         https://blog.csdn.net/frankchen ...

  2. Activity服务类-8 RuntimeService服务类

    一共89个接口1.启动流程实例(20个方法)//使用给定的键在流程定义的最新版本中启动一个新的流程实例.ProcessInstance startProcessInstanceByKey(String ...

  3. php用正则判断是否为数字

    验证数字:^[0-9]*$验证n位的数字:^\d{n}$验证至少n位数字:^\d{n,}$验证m-n位的数字:^\d{m,n}$验证零和非零开头的数字:^(0|[1-9][0-9]*)$验证有两位小数 ...

  4. nginx 限制ip

    转自:https://www.cmsky.com/nginx-deny-ip/ 面对垃圾留言和暴力破解,我们可以封禁IP,前文介绍过Apache环境使用.htacess来屏蔽IP,Nginx也可以做到 ...

  5. 前端-CSS-10-定位

    <!-- 定位有三种: 1.相对定位 2.绝对定位 3.固定定位 这三种定位,每种定位都暗藏玄机,所以我们要一一单讲 position:relative; position:absolute; ...

  6. Swift - JPush极光推送的使用3(根据Alias别名,给某个指定用户发推送)(转)

    一.别名(alias)介绍 (1)我们可以给每一个安装了应用程序的用户,取不同别名来标识(比如可以使用用户账号的 userid 来作为别名). (2)以后给某个特定用户推送消息时,就可以用此别名来指定 ...

  7. c语言使用librdkafka库实现kafka的生产和消费实例(转)

    关于librdkafka库的介绍,可以参考kafka的c/c++高性能客户端librdkafka简介,本文使用librdkafka库来进行kafka的简单的生产.消费 一.producer librd ...

  8. How to Pronounce ‘to the’ in a Sentence

    How to Pronounce ‘to the’ in a Sentence Share Tweet Share Tagged With: The Word THE, TO Reduction St ...

  9. linux——DNS服务器配置

    讲课,请不要在课堂上查找文件,浏览器搜索,会感觉你很不上心,玩听众,一定提前做很多遍,模拟很多遍: 演讲,请务必准备好材料,考虑听众的感受,一定不要让外行人云里雾里,听不懂你在讲什么,那就尴尬了, D ...

  10. ingress 密码验证

    traefik ingress 上面的方式需要引入haprox或者nginx,多引入了一个代理转发层,其实ingress本身就提供了basic auth的支持,在ingress规则中添加额外的认证an ...