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

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

如何下载及安装Java?


当前回答

对于需要JCE8的用户,也可以下载JCE8。

curl -L -C - -b "oraclelicense=accept-securebackup-cookie" -O http://download.oracle.com/otn-pub/java/jce/8/jce_policy-8.zip

Or

wget --no-check-certificate -c --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jce/8/jce_policy-8.zip

其他回答

最新的测试,

wget——no-cookies——no-check-certificate——header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com" "https://edelivery.oracle.com/otn-pub/java/jdk/7u25-b15/jdk-7u25-linux-x64.tar.gz"

如果您关心绝对的安全性,请注意禁用证书检查。:)

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

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

上下文

我最近也遇到了同样的问题,尽管本页上的评论和一些 其他人提供了有用的提示——我认为把我为那些可能需要进一步帮助的人解决问题所采取的步骤记录下来会很好。

系统细节

我在AWS上按照PNDA安装指南的步骤安装PNDA:

https://github.com/pndaproject/pnda-guide/blob/develop/provisioning/aws/PREPARE.md

我在AWS云上使用ubuntu 14.04[免费层合格],并且正在从64位windows8.1笔记本电脑上运行代码。使用PUTTY连接服务器实例。我git从https://github.com/pndaproject/pnda克隆了pnda代码到ubuntu实例。

重要提示 请注意,如果你计划在AWS上使用Ubuntu实例,请确保它只支持14.04。如果您使用版本16,则无法正常工作。我是吃了不少苦头才学会的!

解决步骤

那些曾经遇到过这里讨论的错误的人会知道—镜像创建文件涉及以下步骤—

1)执行脚本create_mirror.sh [sudo su -s ./create_mirror.sh],运行创建全量镜像进程

2)这个脚本依次调用各种其他脚本——其中一个是create_mirror_misc.sh;该脚本引用pnda-static-file-dependencies.txt,其中包含要下载的文件列表。

3) On the very first line of the pnda-static-file-dependencies.txt is a reference to download the jdk-8u131-linux-x64.tar.gz file from http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz oraclelicense=accept-securebackup-cookie; It is at this point that my script was failing with the message Failed to download http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz after 3 retries

4)我浏览到http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz页面,发现显示以下错误消息**为了从Oracle技术网络下载产品,您必须同意OTN许可条款**

5)为了解决这个问题,我对pnda-static-file-dependencies.txt做了以下修改;我添加了—无检查证书—无cookie来绕过许可条款协议条件

6)因此,修改后的代码看起来像- http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz——no-check-certificate——no-cookies oraclicense =accept-securebackup-cookie

我希望这对你有帮助。

如上文所述: https://stackoverflow.com/a/41718895/4370196

更新JDK 8 Update 121

由于Oracle在其下载链接中插入了一些md5hash,因此不能自动组装命令行下载链接。

所以我修改了一些讨厌的bash命令行来获得最新的jdk下载链接,下载并通过rpm直接安装。 对于所有感兴趣的人:

wget -q http://www.oracle.com/technetwork/java/javase/downloads/index.html -O ./index.html && grep -Eoi ']+>' index.html | grep -Eoi '/technetwork/java/javase/downloads/jdk8-downloads-[0-9]+.html' | (head -n 1) | awk '{print "http://www.oracle.com"$1}' | xargs wget --no-cookies --header "Cookie: gpw_e24=xxx; oraclelicense=accept-securebackup-cookie;" -O index.html -q && grep -Eoi '"filepath":"[^"]+jdk-8u[0-9]+-linux-x64.rpm"' index.html | grep -Eoi 'http:[^"]+' | xargs wget --no-cookies --header "Cookie: gpw_e24=xxx; oraclelicense=accept-securebackup-cookie;" -q -O ./jdk8.rpm && sudo rpm -i ./jdk8.rpm

粗体部分应该换成你喜欢的包装