当我试图从Oracle下载Java时,我最终下载了一个页面,告诉我需要同意OTN许可条款。

对不起! 为了从Oracle技术网络下载产品,您必须同意OTN许可条款。 请务必…… 你的浏览器已经启用了“cookies”和JavaScript。 您点击了希望下载的产品的“接受许可”。 在接受许可后的30分钟内尝试下载。

如何下载及安装Java?


当前回答

截至2017-04-25,公认的答案对我不适用。然而,简单的解决方案是使用-b标志而不是——header选项。

例如,要获取jdk-1.8_131:

version='8u131'; wget -H -O jdk-$version-linux-x64.tar.gz --no-check-certificate --no-cookies -b "oraclelicense=a" http://download.oracle.com/otn-pub/java/jdk/$version-b11/jdk-$version-linux-x64.tar.gz

它将在后台执行,并将输出写入wget-log。

其他回答

这适用于JDK 6,你只需要将下载url替换为最新版本。

wget --no-cookies --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2Ftechnetwork%2Fjava%2Fjavase%2Fdownloads%2Fjdk6-downloads-1637591.html;" http://download.oracle.com/otn-pub/java/jdk/6u33-b03/jdk-6u33-linux-x64.bin

Try

wget --no-cookies --header "Cookie: s_nr=1359635827494; s_cc=true; gpw_e24=http%3A%2F%2Fwww.oracle.com%2Ftechnetwork%2Fjava%2Fjavase%2Fdownloads%2Fjdk6downloads-1902814.html; s_sq=%5B%5BB%5D%5D; gpv_p24=no%20value" http://download.oracle.com/otn-pub/java/jdk/6u45-b06/jdk-6u45-linux-x64-rpm.bin --no-check-certificate -O ./jdk-6u45-linux-x64-rpm.bin

如果你像我一样试图获得Oracle JDK 6。

使用curl/wget下载Oracle JVM

(Irani更新了我的答案,但在这里澄清一下。)

编辑:针对Java 17.0.1更新,于2021年10月19日发布

Wget

wget -c --header "Cookie: oraclelicense=accept-securebackup-cookie" https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz

更多信息请参见oracle.com上的下载。

-c /——继续

允许继续未完成的下载。

——header "Cookie: oracelicense =accept-securebackup-cookie"

自2014年3月15日起,在接受许可协议后,此cookie将提供给用户,并且是访问download.oracle.com中的Java包所必需的。2012年3月27日的前一个(也是第一个)实现使用了cookie gpw_e24=http%3A%2F%2Fwww.oracle.com[…]。这两起案件都未向公众公布。

该值不一定为accept-securebackup-cookie。

不是必需的

——无cookie

“Cookie: name=value”标题的组合“no-cookies”作为“官方”Cookie支持被提到,但在这里并不是严格要求的。

cURL

curl -L -C - -b "oraclelicense=accept-securebackup-cookie" -O https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz

-L /——位置

需要cURL重定向通过所有镜像。

-c /——continue-at -

见上图。cURL最后需要破折号(-)。

"避风头"饼干

与-H /——header "Cookie:…"相同,但也接受文件。

-O

cURL保存文件所必需的(参见[作者的比较][8]了解更多差异)。

这个问题将从Oracle JDK 17开始解决

https://www.oracle.com/java/technologies/jdk-script-friendly-urls/

Oracle JDK 17的最新版本可以从命令行下载,也可以通过使用下载url自动在脚本和dockerfile中下载,该下载url将提供当时的更新版本。

你可以使用-

wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz

格式以获取最新的17个版本

下载JDK 8u221

$ 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}')

my blog is 044-wget