一.安裝環境
操作系統:CentOS 7
JDK版本:1.8
工具:SecureCRT
二.安裝步驟
step1:下載JDK 1.8安裝包
登錄oracle官網:https://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html
oracle官網改版后,獲取下載鏈接的方式有所改變,按照以上步驟獲取到初步的地址后,需要進行一下修改,獲取到的地址如下:
https://www.oracle.com/webapps/redirect/signon?nexturl=https://download.oracle.com/otn/java/jdk/8u141-b15/336fa29ff2bb4ef291e347e091f7f4a7/jdk-8u141-linux-x64.tar.gz
我們只需要藍色的這部分地址,並將其中標紅的部分otn替換為otn-pub
https://download.oracle.com/otn/java/jdk/8u141-b15/336fa29ff2bb4ef291e347e091f7f4a7/jdk-8u141-linux-x64.tar.gz
這個位置如果使用otn作為拼接wget地址的話,下載到的文件大小只有5M左右,是個破損文件,是解壓不了的
替換后為:
https://download.oracle.com/otn-pub/java/jdk/8u141-b15/336fa29ff2bb4ef291e347e091f7f4a7/jdk-8u141-linux-x64.tar.gz
然后拼接到wget命令后面,最終的下載地址為:
wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" https://download.oracle.com/otn-pub/java/jdk/8u141-b15/336fa29ff2bb4ef291e347e091f7f4a7/jdk-8u141-linux-x64.tar.gz
在usr/local下新建一個jdk1.8目錄,並下載壓縮包:
[root@192 /]# cd usr/local/
[root@192 local]# mkdir jdk1.8
[root@192 local]# cd jdk1.8/
[root@192 jdk1.8]# wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u141-b15/336fa29ff2bb4ef291e347e091f7f4a7/jdk-8u141-linux-x64.tar.gz"
step2:解壓
[root@192 jdk1.8]# tar -zxvf jdk-8u141-linux-x64.tar.gz
step3:配置環境變量
1.編輯 profile 文件
[root@192 jdk1.8]# vi /etc/profile
按i進入編輯狀態,在尾部添加如下命令
# Sun JDK profile
export JAVA_HOME=/usr/local/jdk1.8/jdk1.8.0_141 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH
2.添加完成后按esc退出編輯,:wq保存退出(esc進入一般模式,:wq保存退出)
3.運行命令使/etc/profile文件生效
source /etc/profile
4.命令測試
4.1 使用 java -version 和 javac -version 命令查看jdk版本及其相關信息,不會出現command not found錯誤,且顯示的版本信息與前面安裝的一致。
4.2 echo $JAVA_HOME, echo $CLASSPATH, echo $PATH,看看自己的配置是否都正確。
三.可能出現的問題
錯誤一:
每次重啟時,若jdk版本不正確,或者使用 java -version 顯示不是所需版本,使用javac -version 會出現command not found錯誤,解決方法是再次運行 source /etc/profile,使/etc/profile文件生效。顯然每次這么操作很麻煩,因此我們編輯 vi ~/.bashrc,在最后面加一句 source /etc/profile
錯誤二:
下載的壓縮文件解壓的時候出現如下錯誤:
[root@192 jdk1.8]$ tar -zxvfjdk-8u141-linux-x64.tar.gz
gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now
出現以上問題,大概率是下載的壓縮包有損壞,首先查看下載的文件大小:
命令:ls -lht 查看文件大小
如果文件只有幾十K或者幾M,可以確定是文件損壞,重新下載完整的壓縮包就可以了,正常大小是170M左右
其次在考慮是以下處理方式:
解決方法一:原因是這個壓縮包沒有用gzip格式壓縮,所以不用加z指令
[root@192 jdk1.8]$ tar -xvf jdk-8u141-linux-x64.tar.gz
解決方法二:
把下載下來的文件重命名,再執行解壓命令
[root@192 jdk1.8]$ mv jdk-8u141-linux-x64.tar.gz jdk-8u141-linux-x64.tar
[root@192 jdk1.8]$ tar -zxvf jdk-8u141-linux-x64.tar