问题现象

官网 https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

我选择linux x64版本:

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

解决官网下载jdk只有5k大小的错误 随笔 第1张

wget --header='Cookie: oraclelicense=accept-securebackup-cookie' https://download.oracle.com/otn-pub/java/jdk/8u201-b09/42970487e3af4f5aa5bca3f542482c60/jdk-8u201-linux-x64.tar.gz

解决官网下载jdk只有5k大小的错误 随笔 第2张

下载以后通过命令检查安装包大小是否符合

ls -lht

 发现真的是5K

 原因

 在下载 jdk 的时候,事实上都会注意到一个小细节,就是你需要 Accept License Agreement,接受它的证书。

解决官网下载jdk只有5k大小的错误 随笔 第3张

许多的其他网站里,接受许可,只是用来显示下一步的按钮,但是这里做了更多的操作。

<form name="agreementFormjdk-8u162-oth-JPR" method="post" action="radio" class="lic_form">
  <input type="radio" value="on" name="agreementjdk-8u162-oth-JPR" onclick="acceptAgreement(window.self, 'jdk-8u162-oth-JPR');"> &nbsp;Accept License Agreement&nbsp;&nbsp;&nbsp; 
  <input type="radio" value="on" name="agreementjdk-8u162-oth-JPR" onclick="declineAgreement(window.self, 'jdk-8u162-oth-JPR');" checked="checked"> &nbsp; Decline License Agreement
</form>

可以看到在点击 Accept 的时候,会触发一个 js 的方法 acceptAgreement

在这个方法中,做了如下的事情:

function acceptAgreement(windowRef, part){
  var doc = windowRef.document;
  disableDownloadAnchors(doc, false, part);
  hideAgreementDiv(doc, part);
  writeSessionCookie( 'oraclelicense', 'accept-securebackup-cookie' );
}

设置了一个会话 cookie,key是 oraclelicense,值是 accept-securebackup-cookie,这在直接使用 wget 的时候,是没有设置的。

 解决方案

所以在下载的时候,wget 命令中也需要加入这个 cookie 值,命令如下即可:

wget --header='Cookie: oraclelicense=accept-securebackup-cookie' http://download.oracle.com/otn-pub/java/jdk/8u161-b12/2f38c3b165be4555a1fa6e98c45e0808/jdk-8u161-linux-x64.tar.gz

 

 附:CentOS 7 安装 配置 JAVA环境(JDK 1.8)

1.下载(见上文)

wget --header='Cookie: oraclelicense=accept-securebackup-cookie' http://download.oracle.com/otn-pub/java/jdk/8u161-b12/2f38c3b165be4555a1fa6e98c45e0808/jdk-8u161-linux-x64.tar.gz

2.安装

#创建安装目录
mkdir /usr/local/java/
#解压至安装目录
tar -zxvf jdk-8u171-linux-x64.tar.gz -C /usr/local/java/

3.设置环境变量

打开文件

vim /etc/profile

在末尾添加

export JAVA_HOME=/usr/local/java/jdk1.8.0_171
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

使环境变量生效

source /etc/profile

添加软链接

ln -s /usr/local/java/jdk1.8.0_171/bin/java /usr/bin/java

检查

java -version

解决官网下载jdk只有5k大小的错误 随笔 第4张

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄