天天看點

Linux學習_004_使用CentOS 7.5解除安裝自帶jdk安裝自己的JDK1.8

本文主要介紹的是如何是Linux環境下安裝JDK的,因為Linux環境下,很多時候也離不開Java的,下面筆者就和大家一起分享如何jdk1.8的過程吧。

一、安裝環境

  • 本機系統:Win 10
  • 虛拟機軟體:VMware PRO 14
  • 虛拟機Linux系統:CentOS 7.5
  • JDK版本:1.8.0_191
  • 工具:SecureCRT
  • 說明:本文是通過SecureCRT工具遠端連接配接Linux操作,如果是直接在Linux可視化界面操作那就更友善了,原理一樣。

二、安裝步驟

  • 下載下傳安裝包

      下載下傳Linux環境下的jdk1.8,請去(官網)中下載下傳jdk的安裝檔案。

      由于我的Linux是64位的,jdk-8u191-linux-x64.tar.gz下載下傳連結

0、我們先有一個幹淨的Linux的環境

  進行如下操作:

[root@itheima ~]# cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core) 
[root@itheima ~]# ll
總用量 0
           

1、檢查一下linux系統中的jdk版本

[root@itheima ~]# java -version
           

  顯示如下:

openjdk version "1.8.0_161"
OpenJDK Runtime Environment (build 1.8.0_161-b14)
OpenJDK 64-Bit Server VM (build 25.161-b14, mixed mode)
           

2、檢測linux下的jdk安裝包

[root@itheima ~]# rpm -qa | grep java
或者
[root@itheima ~]# rpm -qa | grep jdk
           

  顯示如下:

python-javapackages-3.4.1-11.el7.noarch
java-1.8.0-openjdk-headless-1.8.0.161-2.b14.el7.x86_64
tzdata-java-2018c-1.el7.noarch
java-1.7.0-openjdk-1.7.0.171-2.6.13.2.el7.x86_64
java-1.8.0-openjdk-1.8.0.161-2.b14.el7.x86_64
javapackages-tools-3.4.1-11.el7.noarch
java-1.7.0-openjdk-headless-1.7.0.171-2.6.13.2.el7.x86_64
或者
copy-jdk-configs-3.3-2.el7.noarch
java-1.8.0-openjdk-headless-1.8.0.161-2.b14.el7.x86_64
java-1.7.0-openjdk-1.7.0.171-2.6.13.2.el7.x86_64
java-1.8.0-openjdk-1.8.0.161-2.b14.el7.x86_64
java-1.7.0-openjdk-headless-1.7.0.171-2.6.13.2.el7.x86_64
           

3、先解除安裝openjdk(共4個檔案)

[root@itheima ~]# rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.161-2.b14.el7.x86_64
[root@itheima ~]# rpm -e --nodeps java-1.7.0-openjdk-1.7.0.171-2.6.13.2.el7.x86_64
[root@itheima ~]# rpm -e --nodeps java-1.8.0-openjdk-1.8.0.161-2.b14.el7.x86_64
[root@itheima ~]# rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.171-2.6.13.2.el7.x86_64
           

  删完之後可以再通過:rpm -qa | grep java 或 rpm -qa | grep jdk 指令來查詢出是否删除掉

[root@itheima ~]# rpm -qa | grep java
python-javapackages-3.4.1-11.el7.noarch
tzdata-java-2018c-1.el7.noarch
javapackages-tools-3.4.1-11.el7.noarch
[root@itheima ~]# rpm -qa | grep jdk
copy-jdk-configs-3.3-2.el7.noarch
[root@itheima ~]# 
           

4、安裝新的Oracle JDK1.8

  通過指令:

cd /usr/local/

進入local目錄,并通過

ll(兩個小寫的L)

指令或者

ls指令(ll 本身不是指令,隻是 ls -l 指令的一個别名)

列出目前目錄下得所有非隐含的檔案,如果想要看到隐含(以. 開頭的,如:.test.txt)檔案資訊可通過

ll -a

來檢視,如下:

[root@itheima ~]# cd /usr/local/
[root@itheima local]# ll
總用量 0
drwxr-xr-x. 2 root root  6 4月  11 2018 bin
drwxr-xr-x. 2 root root  6 4月  11 2018 etc
drwxr-xr-x. 2 root root  6 4月  11 2018 games
drwxr-xr-x. 2 root root  6 4月  11 2018 include
drwxr-xr-x. 2 root root  6 4月  11 2018 lib
drwxr-xr-x. 2 root root  6 4月  11 2018 lib64
drwxr-xr-x. 2 root root  6 4月  11 2018 libexec
drwxr-xr-x. 2 root root  6 4月  11 2018 sbin
drwxr-xr-x. 5 root root 49 11月  2 00:50 share
drwxr-xr-x. 2 root root  6 4月  11 2018 src
           

  進入local目錄之後通過

mkdir java

指令來建立java目錄存放自己的jdk。

  擴充:如果你想一次性在同一級目錄下建立多個平級的目錄可以通過

mkdir brother1 brother2

(如要建立更多就在後面加上去就可以了,中間用空格隔開)這樣的指令來建立,如果要一次建立父子目錄(parent/child)可以通過

mkdir -p parent/child/grandson

來建立,如下:

[root@itheima local]# mkdir java
[root@itheima local]# ll
總用量 0
drwxr-xr-x. 2 root root  6 4月  11 2018 bin
drwxr-xr-x. 2 root root  6 4月  11 2018 etc
drwxr-xr-x. 2 root root  6 4月  11 2018 games
drwxr-xr-x. 2 root root  6 4月  11 2018 include
drwxr-xr-x. 2 root root  6 11月  8 19:01 java
drwxr-xr-x. 2 root root  6 4月  11 2018 lib
drwxr-xr-x. 2 root root  6 4月  11 2018 lib64
drwxr-xr-x. 2 root root  6 4月  11 2018 libexec
drwxr-xr-x. 2 root root  6 4月  11 2018 sbin
drwxr-xr-x. 5 root root 49 11月  2 00:50 share
drwxr-xr-x. 2 root root  6 4月  11 2018 src
           

5、使用SSH連結工具SecureCRT連結Linux系統,打開SFTP會話

  将下載下傳好的jdk安裝包jdk-8u191-linux-x64.tar.gz上傳至Linux系統的/usr/local/java目錄下

sftp> pwd
/root
sftp> cd /usr/local/java/
sftp> pwd
/usr/local/java
sftp> put -r "C:\Users\Bruce\Desktop\jdk-8u191-linux-x64.tar.gz"
Uploading jdk-8u191-linux-x64.tar.gz to /usr/local/java/jdk-8u191-linux-x64.tar.gz
  100% 187259KB  46814KB/s 00:00:04     
C:\Users\Bruce\Desktop\jdk-8u191-linux-x64.tar.gz: 191753373 bytes transferred in 4 seconds (46814 KB/s)
sftp> put -r "C:\Users\Bruce\Desktop\jdk-8u191-linux-x64.tar.gz"
Uploading jdk-8u191-linux-x64.tar.gz to /usr/local/java/jdk-8u191-linux-x64.tar.gz
  100% 187259KB  62419KB/s 00:00:03     
C:\Users\Bruce\Desktop\jdk-8u191-linux-x64.tar.gz: 191753373 bytes transferred in 3 seconds (62419 KB/s)
sftp> 
           

  傳輸完成之後ll指令檢視

[root@itheima java]# ll
總用量 187260
-rw-r--r--. 1 root root 191753373 11月  8 17:07 jdk-8u191-linux-x64.tar.gz
[root@itheima java]# 
           

6、解壓jdk-8u191-linux-x64.tar.gz安裝包

[root@itheima java]# tar -zxvf jdk-8u191-linux-x64.tar.gz
           

  解壓過後出現如下:

......
......
jdk1.8.0_191/jre/lib/fontconfig.SuSE.10.properties.src
jdk1.8.0_191/jre/lib/fontconfig.SuSE.11.bfc
jdk1.8.0_191/jre/COPYRIGHT
jdk1.8.0_191/jre/THIRDPARTYLICENSEREADME-JAVAFX.txt
jdk1.8.0_191/jre/Welcome.html
jdk1.8.0_191/jre/README
jdk1.8.0_191/README.html
[root@itheima java]# ll
總用量 187260
drwxr-xr-x. 7   10  143       245 10月  6 20:55 jdk1.8.0_191
-rw-r--r--. 1 root root 191753373 11月  8 17:07 jdk-8u191-linux-x64.tar.gz
           

  這時安裝包已經沒用了,我一般都會删掉安裝包,通過

rm -f jdk-8u191-linux-x64.tar.gz

删除安裝包。

  這裡

-f

的意思就是不詢問删除,如果你不加

-f

在删除時它會詢問你一下是否要删除該安裝包,

是确定要删除就加-f

  如果你要删除一個目錄,而這個目錄下還有目錄或者有檔案,比如在parent/child/grandson,這樣的目錄下你要删除 parent 下得所有目錄和檔案(包括parent)就可以用到

rm -rf parent

指令就可以删除掉了。

rm -rf parent

表示遞歸删除不詢問。

[root@itheima java]# rm -rf jdk-8u191-linux-x64.tar.gz 
[root@itheima java]# ll
總用量 0
drwxr-xr-x. 7 10 143 245 10月  6 20:55 jdk1.8.0_191
[root@itheima java]# 
           

7、設定環境變量

  通過

vim /etc/profile

指令打開 profile 檔案盤配置環境變量

[root@itheima java]# vim /etc/profile
           

  打開之後按

i

進入

insert(插入)模式

,在檔案末尾添加上環境變量,内容如下:

JAVA_HOME=/usr/local/java/jdk1.8.0_191
JRE_HOME=/usr/local/java/jdk1.8.0_191/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH
           

  添加完之後儲存并退出,儲存并退出的指令有兩種 第一種是:

按住shift鍵然後連按兩次z

(這是我常用的,因為它友善快速),第二種是

:wq

指令,有一種是不儲存退出的指令

:q!

注意:以上三種指令都是在

非插入模式

(插入模式下按鍵盤左上角的

Esc鍵退出插入模式

就是非插入模式了)下操作。

8、儲存完之後輸入:source /etc/profile 指令使剛才配置的環境變量生效

[root@itheima java]# source /etc/profile
[root@itheima java]# 
           

9、測試jdk是否安裝成功

  輸入

javac

指令如果出現以下的文字就說明編譯成功了(如果你之前安裝centos7時使用的語言是英文,那出現的就是類似這樣排版的英文)

[root@itheima java]# javac
用法: javac <options> <source files>
其中, 可能的選項包括:
  -g                         生成所有調試資訊
  -g:none                    不生成任何調試資訊
  -g:{lines,vars,source}     隻生成某些調試資訊
  -nowarn                    不生成任何警告
  -verbose                   輸出有關編譯器正在執行的操作的消息
  -deprecation               輸出使用已過時的 API 的源位置
  -classpath <路徑>            指定查找使用者類檔案和注釋處理程式的位置
  -cp <路徑>                   指定查找使用者類檔案和注釋處理程式的位置
  -sourcepath <路徑>           指定查找輸入源檔案的位置
  -bootclasspath <路徑>        覆寫引導類檔案的位置
  -extdirs <目錄>              覆寫所安裝擴充的位置
  -endorseddirs <目錄>         覆寫簽名的标準路徑的位置
  -proc:{none,only}          控制是否執行注釋處理和/或編譯。
  -processor <class1>[,<class2>,<class3>...] 要運作的注釋處理程式的名稱; 繞過預設的搜尋程序
  -processorpath <路徑>        指定查找注釋處理程式的位置
  -parameters                生成中繼資料以用于方法參數的反射
  -d <目錄>                    指定放置生成的類檔案的位置
  -s <目錄>                    指定放置生成的源檔案的位置
  -h <目錄>                    指定放置生成的本機标頭檔案的位置
  -implicit:{none,class}     指定是否為隐式引用檔案生成類檔案
  -encoding <編碼>             指定源檔案使用的字元編碼
  -source <發行版>              提供與指定發行版的源相容性
  -target <發行版>              生成特定 VM 版本的類檔案
  -profile <配置檔案>            請確定使用的 API 在指定的配置檔案中可用
  -version                   版本資訊
  -help                      輸出标準選項的提要
  -A關鍵字[=值]                  傳遞給注釋處理程式的選項
  -X                         輸出非标準選項的提要
  -J<标記>                     直接将 <标記> 傳遞給運作時系統
  -Werror                    出現警告時終止編譯
  @<檔案名>                     從檔案讀取選項和檔案名

[root@itheima java]# 
           

  或者輸入

java -version

[root@itheima java]# java -version
java version "1.8.0_191"
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)
[root@itheima java]# 
           

  如果出現以上資訊就說明你自己的jdk就完全安裝成功了!!!

參考連結:

  https://blog.csdn.net/hui_2016/article/details/69941850

  https://www.cnblogs.com/Dylansuns/p/6974272.html