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

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

如何下载及安装Java?


当前回答

你应该试试:

wget \
        --no-cookies \
        --header "Cookie: oraclelicense=accept-securebackup-cookie" \
        http://download.oracle.com/otn-pub/java/jdk/8u172-b11/a58eab1ec242421181065cdc37240b08/jdk-8u172-linux-x64.tar.gz \
        -O java.tar.gz

其他回答

从命令行下载Java一直很麻烦。我最近一直在做的是使用FireFox(其他浏览器也可以)在我的笔记本电脑上开始下载,暂停它(在下载窗口内),使用上下文菜单中显示的“复制下载链接”菜单项来下载文件。然后可以在Linux机器上使用该URL下载相同的文件。我希望URL的生存时间很短。丑陋,但总体上是成功的。

sudo wget --no-check-certificate --no-cookies --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com" "http://download.oracle.com/otn-pub/java/jdk/7u45-b18/jdk-7u45-linux-x64.rpm"

@eric的回答对我来说很管用,你需要接受你设置的命令中的条款 即

"Cookie: oraclelicense=accept-securebackup-cookie"

最后的命令是这样的

wget -c --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz

您可以通过将8u131更改为8uXXX来决定更新版本。只要它在回购中可用。

这个问题将从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个版本

(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]了解更多差异)。