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. Python - Django - ORM 操作数据

    查询数据(查询管理员): app01/models.py 中定义的类,也就是创建的表 from django.db import models # 类必须继承 models.Model class A ...

  2. mybatis匹配字符串的坑

    where语句中我们经常会做一些字符串的判断,当传入的字符串参数为纯数字时,在mybatis的条件语句test里匹配全数字字符串需要注意会有如下现象: 所以里面的字符串需要加单引号,mybatis是匹 ...

  3. Pillow 读取图片截断错误

    做图像处理的时候,Pillow是经常使用到的模块. 最近在读取图片的时候出现了一个错误. OSError: image file is truncated (461 bytes not process ...

  4. Flutter,最好的跨平台开发框架

    今天说说使用flutter的一些体会 对于Flutter,从发现到接触再到使用,不知不觉,已经有大半年了!在这段时间里,谷歌几乎每天都会更新Flutter,有时甚至一天更新几次,这让我对它更加充满信心 ...

  5. UVA-839-二叉树-一个有意思的题目

    题意: 一颗二叉树可以看成一个杠杆,左右俩边有重量,有到支点长度,判断整个树是否平衡(根据杠杆原理),如果当前结点有左孩子,那么当前左边的重量就是左孩子的总和,右边同理 递归,发现scanf和cin的 ...

  6. OpenCL 存储器次序的验证

    ▶ <OpenCL异构并行编程实战>P224 的代码,先放上来,坐等新设备到了再执行 //kernel.cl __global ); // 全局原子对象 __kernel void mem ...

  7. leetcode66

    public class Solution { public int[] PlusOne(int[] digits) { ]; < ) { digits[digits.Length - ]++; ...

  8. Flash Builder编译的swf为什么在bin-debug下运行正常,复制到其他文件夹就不正常

    在Flash Builder/Flex Builder中,可以使用编译参数-use-network=false实现

  9. wildFly(Jboss as)入门

    目录 简介 安装 使用 简介 JBoss AS 从8版本起名为wildfly.JBoss是纯Java的EJB(企业JavaBean)服务器. JBoss As 由 Redhat出品的开源免费服务器,采 ...

  10. CSS中不透明度继承问题的处理

    关于CSS中不透明度的设置,除了兼容方面的问题,还有不透明度继承问题,这里只讨论下后者. 那么, 什么时候会发生不透明度继承问题? 当文档结构中有父子嵌套关系的时候,并且父元素有不透明度属性设置时,会 ...