解决官网下载jdk只有5k大小的错误

问题现象

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

我选择linux x64版本:

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

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

ls -lht

 发现真的是5K

 原因

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

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

<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

 

posted @ 2019-04-11 16:34  DF的翱翔  阅读(413)  评论(0编辑  收藏  举报