本文主要介紹的是如何是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