centos下安裝JDK8的方法

判斷是否安裝

首先,咱們得判斷機子上是否是安裝了jdk,好多人推薦使用java -version命令。個人計算機上使用java -version命令,內容以下:html

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)java

這看起來好像個人機子中已經安裝了jdk,可是當我使用javac時,會提示:linux

-bash: javac: command not foundvim

這說明第一個java命令,不是安裝的jdk中的java命令,而是在$PATH的全部路徑下有一個能夠執行的java文件,說明jdk仍是沒有正確安裝。這個要特別注意。bash

安裝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 CLASSPATHoracle

  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安裝完成。ui

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

固然,咱們安裝的jdk8,應該測試下jdk8的特性。可使用jdk8特有的stream來測試,代碼以下:spa

複製代碼
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)); } }
複製代碼

使用如下命令運行,獲得結果,說明安裝沒有問題。code

[gqq@pku ~/JavaProjects/test]$ javac TestLambda.java 
[gqq@pku ~/JavaProjects/test]$ java -cp . TestLambda ZHANGSAN WANGWU
相關文章
相關標籤/搜索