操作系统:CentOS 7
JDK版本:1.8
工具:SecureCRT
二.安装步骤
登录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"
[root@192 jdk1.8]# tar -zxvf jdk-8u141-linux-x64.tar.gz
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