这是坚持技术写作计划(含翻译)的第44篇,定个小目标999,每周最少2篇。
本文主要介绍如何使用wget免登陆下载可用的jdk 8u291,介绍6种方式
下载最新的jre8
如果只是安装jre即可,则可以使用(长期有效)
$ url=$(curl -s https://www.java.com/en/download/linux_manual.jsp | grep -E ".*x64.*javadl" | grep -v "RPM" | sed "s/.*href=\"//g;s/\".*//g" | head -n 1)
$ wget -c --content-disposition $url
$ old=$(ls -hat | grep jre | head -n1)
$ mv $old $(echo $old | awk -F"?" '{print $1}')
下载所有版本jdk
参考gist上大佬 rathaROG的办法
gist.github.com/wavezhang/b…
先打开 www.oracle.com/java/techno… 找到需要的二进制文件,
右键F12,找到该选项的data-file属性,复制出来
例如jdk 8u291版本https://download.oracle.com/otn/java/jdk/8u291-b10/d7fc238d0cbf4b0dac67be84580cfb4b/jdk-8u291-windows-x64.exe
从其中提取必要信息,替换成
https://javadl.oracle.com/webapps/download/GetFile/1.8.0_[version]-[build_number]/[encrypted_path]/windows-i586/[file_name_exe]格式
[version]: 291
[build_number]: b10
[encrypted_path]: d7fc238d0cbf4b0dac67be84580cfb4b
[file_name_exe]: jdk-8u291-windows-x64.exe
替换完后差不多是 https://javadl.oracle.com/webapps/download/GetFile/1.8.0_291-b10/d7fc238d0cbf4b0dac67be84580cfb4b/windows-i586/jdk-8u291-windows-x64.exe
下载jdk8u221
从oracle官方下载,但是不保证长期可用
$ wget -c --content-disposition "https://javadl.oracle.com/webapps/download/AutoDL?BundleId=239835_230deb18db3e4014bb8e3e8324f81b43"
$ old=$(ls -hat | grep jre | head -n1)
$ mv $old $(echo $old | awk -F"?" '{print $1}')
windows jdk-8u221-windows-x64.exe 地址
https://javadl.oracle.com/webapps/download/AutoDL?BundleId=239842_230deb18db3e4014bb8e3e8324f81b43
下载jdk8u131
长期有效,也是oracle官方下载链接(8u131以后的都404了)
$ wget -O jdk-8u131-linux-x64.tar.gz --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz
下载第三方jdk
自行判断校验码,不保证有效性和安全性
$ jdk_name=$(curl -s http://enos.itcollege.ee/~jpoial/allalaadimised/jdk8/ | grep tar.gz | grep -v demo |sed "s/.*href=\"//g;s/\".*//g"|head -n 1)
$ wget -O "$jdk_name" "http://enos.itcollege.ee/~jpoial/allalaadimised/jdk8/$jdk_name"
下载第三方openjdk
长期有效,不保证安全性
Download Java SE Standard Compliant Liberica JDK 8u222
$ wget -O bellsoft-jdk8u222-linux-amd64.tar.gz "https://download.bell-sw.com/java/8u222/bellsoft-jdk8u222-linux-amd64.tar.gz"
从官方下载
方法长期有效,但是AuthParam有时效性,无法写成脚本,也可以安装openjdk
- 注册并登陆oracle账号
- 打开 www.oracle.com/technetwork…
- 复制的地址类似 download.oracle.com/otn/java/jd… 其中AuthParam参数是有时效性的
wget -O ``jdk-8u221-linux-x64.tar.gz`` --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" "``https://download.oracle.com/otn/java/jdk/8u221-b11/230deb18db3e4014bb8e3e8324f81b43/jdk-8u221-linux-x64.tar.gz?AuthParam=xxxxx_xxxxxxxxxxxxxxxxxx"
题外话
在网上找wget免密码下载jdk时,发现了一个有意思的项目
The catalog may also be accessed using command-line tools, or through a simple HTTP API.
虽然给出的java相关的因为OTN的原因,都挂了,但是别的还是有些能用的。挺方便的。
招聘小广告
山东济南的小伙伴欢迎投简历啊 加入我们 , 一起搞事情。
长期招聘,Java程序员,大数据工程师,运维工程师,前端工程师。