今天在自己的centos机子上安装jdk,发现以前的教程都比较旧了,很多东西都过时了。今天把自己安装的感受写一下。

判断是否安装

首先,我们得判断机子上是不是安装了jdk,好多人推荐使用java -version命令。我的计算机上使用java -version命令,内容如下:

java version "1.7.0_45"
OpenJDK Runtime Environment (rhel-2.4.3.2.el6_4-i386 u45-b15)
OpenJDK Server VM (build 24.45-b08, mixed mode)

这看起来好像我的机子中已经安装了jdk,但是当我使用javac时,会提示:

-bash: javac: command not found

这说明第一个java命令,不是安装的jdk中的java命令,而是在$PATH的所有路径下有一个可以执行的java文件,说明jdk还是没有正确安装。这个要特别注意。

安装jdk

  1. http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html中下载jdk的安装文件。由于我的Linux是32位的,因此我下载jdk-8u25-linux-i586.tar.gz文件。
  2. 新建/usr/java文件夹,将jdk-8u25-linux-i586.tar.gz放到该文件夹中,并将工作目录切换到/usr/java目录下。
  3. 执行命令tar -zxvf jdk-8u25-linux-i586.gz 进行解压,解压后发现/usr/java多了一个jdk1.8.0_25文件夹。
  4. 通过以上步骤,jdk就已经全部安装完成了。下面,就是环境变量的配置。

配置环境变量

  1. 使用vim /etc/profile编辑profile文件
  2. 在/etc/profile底部加入如下内容

    JAVA_HOME=/usr/java/jdk1.8.0_25
    PATH=$JAVA_HOME/bin:$PATH
    CLASSPATH=$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/tools.jar
    export PATH JAVA_HOME CLASSPATH

  3. 以上,环境变量配置完成。需要注意的是,PATH在配置的时候,一定要把$JAVA_HOME/bin放在前面,不然使用java命令时,系统会找到以前的java,再不往下找了。这样java这个可执行文件运行的目录其实不在$JAVA_HOME/bin下,而在其它目录下,会造成很大的问题。
  4. 还要注意,以前其它教程写的CLASSPATH=$JAVA_HOME/lib.tools.jar,不知道以前的版本是怎么样的,现在的版本是没有这样的jar包的
  5. 最后使用source /etc/profile让profile文件立即生效。

命令测试

  1. 使用javac命令,不会出现command not found错误
  2. 使用java -version,出现版本为java version "1.8.0_25"
  3. echo $JAVA_HOME, echo $CLASSPATH, echo $PATH,看看自己的配置是否都正确。

代码测试

在自己的工作目录下创建一个新文件Hello.java,写入如下内容:

public class Hello{
public static void main(String[] args){
System.out.println("Hello World");
}
}

执行命令如下,如果得到以下结果,说明jdk安装完成。

[gqq@pku ~/JavaProjects/test]$ javac Hello.java
[gqq@pku ~/JavaProjects/test]$ java -cp . Hello
Hello World

当然,我们安装的jdk8,应该测试下jdk8的特性。可以使用jdk8特有的stream来测试,代码如下:

import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.function.Predicate; public class TestLambda1 {
public static void main(String[] args) { // Aggregate Operations
List<String> myList = Arrays.asList("zhangsan", "lisi", "wangwu",
"liuliu");
myList.stream().filter(x -> x.contains("a")).map(x -> x.toUpperCase())
.forEach(x -> System.out.println(x));
}
}

使用以下命令运行,得到结果,说明安装没有问题。

[gqq@pku ~/JavaProjects/test]$ javac TestLambda.java
[gqq@pku ~/JavaProjects/test]$ java -cp . TestLambda
ZHANGSAN
WANGWU

centos6.5 安装JDK的更多相关文章

  1. 在CentOs6.5安装jdk

    Linux CentOS 6.5 中安装与配置JDK-7:http://jingyan.baidu.com/article/fc07f9891d186512ffe51935.html jdk7的下载: ...

  2. [转]CentOS6.3安装JDK和环境配置

    转自:http://www.linuxidc.com/Linux/2012-09/70780.htm 1.CentOS默认情况下,会安装OpenOffice之类的软件,这些软件需要Java的支持,默认 ...

  3. liunx centOS6.5安装jdk教程

    第一步:mkdir /usr/java/ --在/usr目录下新建一个java目录 第二步:cp jdk-7u25-linux-x64.rpm /usr/java/ --将JDK文件复制到/usr/j ...

  4. centos6.7 安装JDK

      1.卸载JDK 查看系统是否已安装JDK.一般的linux都默认使用了开源的openJDK.显示JDK版本信息,已经安装JDK,否则没有安装.命令行: [root@localhost ~]# ja ...

  5. 阿里云服务器CentOS6.9安装JDK

    1:首先查看系统有没有自带jdk rpm -qa | grep java 2:将存在的一一卸载 rpm -ev java-1.7.0-openjdk-1.7.0.141-2.6.10.1.el6_9. ...

  6. 虚拟机centos6.5 --安装jdk

    1.首先卸载默认安装的openjdk,如下 rpm -qa | grep java #查看当前是否已经安装了跟java有关的包 yum -y remove java #卸载 rpm -qa |grep ...

  7. CentOS6.4 安装JDK

    1.下载JDK,这里用的是jdk-7u65-linux-x64.tar.gz,请到官网上下载. 2.清除默认的JDK,yum remove java 3.解压文件 tar -xzf jdk-7u65- ...

  8. Centos6.4安装JDK

    链接地址:http://www.iteye.com/topic/1130311 1.先看看OpenJDK的安装包 $ rpm -qa |grep javatzdata-java-2013b-1.el6 ...

  9. centos6.X安装jdk

    1.查看Linux自带的JDK是否已安装(如果安装则卸载CentOS已安装的低版本) [root@localhost soft]# java -version java version "1 ...

随机推荐

  1. uva 12730(期望经典)

    选自: http://blog.csdn.net/myhelperisme/article/details/39724515 用dp(n)表示有n个位置时的期望值,那么,对于一个刚进来的人来说,他有 ...

  2. Convert.ToInt32(string '000000003') 变成了 3

    Convert.ToInt32(string '000000003') 变成了 3 但是在查询的时候需要用的是string 这里的convert.toint32 反而起了坏作用,不是所有的时候都要用c ...

  3. 【BZOJ2882】工艺 后缀自动机

    [BZOJ2882]工艺 Description 小敏和小燕是一对好朋友. 他们正在玩一种神奇的游戏,叫Minecraft. 他们现在要做一个由方块构成的长条工艺品.但是方块现在是乱的,而且由于机器的 ...

  4. Delphi Pdf的使用方法

    此方法安装了llPDFLib.v3.6 控件.对pdf左侧.右侧正文进行了操作. procedure TForm1.Button1Click(Sender: TObject); var node,nd ...

  5. 阻止element组件中的<el-input/>的粘贴功能

    需求: 阻止element组件中的<el-input/>的粘贴功能 实现思路: <el-input/>组件是由外层<div>和内层的<input>组成的 ...

  6. 浅析TCP/IP

    TCP/IP概述 TCP/IP起源于1969年美国国防部(DOD:The United States Department Of Defense)高级研究项目管理局(APRA:AdvancedRese ...

  7. 运行 Tomcat, 在 Intellij IDEA 控制台输出中文乱码的解决方法

    打开 Run/Debug Configurations → Tomcat Server → 要运行的 Tomcat → Server 页签,在 VM options 中输入: -Dfile.encod ...

  8. MongoDB学习笔记—常用命令

    这里记录一下MongoDB常用的命令 数据库相关 创建数据库 use DATABASE_NAME 如果数据库不存在,则创建数据库,否则切换到指定数据库. 删除数据库:切换到要删除的数据库下,执行命令即 ...

  9. 交叉熵(Cross-Entropy) [转载]

    交叉熵(Cross-Entropy) 交叉熵是一个在ML领域经常会被提到的名词.在这篇文章里将对这个概念进行详细的分析. 1.什么是信息量? 假设X是一个离散型随机变量,其取值集合为X,概率分布函数为 ...

  10. 2.1 使用ARDUINO控制MC20打电话

    需要准备的硬件 MC20开发板 1个 https://item.taobao.com/item.htm?id=562661881042 GSM/GPRS天线 1根 https://item.taoba ...