通过wget在Linux上下载Java JDK会显示许可证页面

the*_*der 602 java linux install wget

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

抱歉!

要从Oracle Technology Network下载产品,您必须同意OTN许可条款.

一定要......

  • 您的浏览器已启用"cookies"和JavaScript.
  • 您单击了要接受的产品的"接受许可".
  • 您在接受许可后的30分钟内尝试下载.

我如何下载和安装Java?

Eri*_*ara 1625

更新为Oracle JDK 11

wget --no-check-certificate -c --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/11+28/55eed80b163941c8885ad9298e6d786a/jdk-11_linux-x64_bin.tar.gz
Run Code Online (Sandbox Code Playgroud)

更新为JDK 10.0.2

wget --no-check-certificate -c --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/10.0.2+13/19aef61b38124481863b1413dce1855f/jdk-10.0.2_linux-x64_bin.tar.gz
Run Code Online (Sandbox Code Playgroud)

更新为JDK 10.0.1

wget --no-check-certificate -c --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/10.0.1+10/fb4372174a714e6b8c52526dc134031e/jdk-10.0.1_linux-x64_bin.tar.gz
Run Code Online (Sandbox Code Playgroud)

更新为JDK 9 看起来你现在可以直接从java.net下载而不发送头文件

wget http://download.java.net/java/GA/jdk9/9/binaries/jdk-9+181_linux-x64_bin.tar.gz
Run Code Online (Sandbox Code Playgroud)

更新为JDK 8u191

TAR GZ:

wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3a%2F%2Fwww.oracle.com%2Ftechnetwork%2Fjava%2Fjavase%2Fdownloads%2Fjdk8-downloads-2133151.html; oraclelicense=accept-securebackup-cookie;" "https://download.oracle.com/otn-pub/java/jdk/8u191-b12/2787e4a523244c269598db4e85c51e0c/jdk-8u191-linux-x64.tar.gz"
Run Code Online (Sandbox Code Playgroud)

RPM:

wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3a%2F%2Fwww.oracle.com%2Ftechnetwork%2Fjava%2Fjavase%2Fdownloads%2Fjdk8-downloads-2133151.html; oraclelicense=accept-securebackup-cookie;" "https://download.oracle.com/otn-pub/java/jdk/8u191-b12/2787e4a523244c269598db4e85c51e0c/jdk-8u191-linux-x64.rpm"
Run Code Online (Sandbox Code Playgroud)

更新为JDK 8u131

RPM:

  wget -c --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm
Run Code Online (Sandbox Code Playgroud)

TAR GZ:

 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
Run Code Online (Sandbox Code Playgroud)

使用curl的RPM:

 curl -v -j -k -L -H "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm > jdk-8u112-linux-x64.rpm
Run Code Online (Sandbox Code Playgroud)

在上面的所有情况下,使用'i586'代表'x64'来下载32位版本.

  • -j - >垃圾饼干
  • -k - >忽略证书
  • -L - >按照重定向
  • -H [arg] - >标题

curl可以用来代替wget.

更新JDK 7u79

TAR GZ:

wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x64.tar.gz
Run Code Online (Sandbox Code Playgroud)

使用curl的RPM:

curl -v -j -k -L -H "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x64.rpm > jdk-7u79-linux-x64.rpm
Run Code Online (Sandbox Code Playgroud)

再次确保为要下载的版本指定正确的URL.您可以在此处找到URL:Oracle JDK下载站点

从2012年6月9日起的原始答案

如果您希望从命令行使用下载Oracle JDK wget,则有一种解决方法.运行wget命令如下:

wget --no-cookies --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com" "http://download.oracle.com/otn-pub/java/jdk/7/jdk-7-linux-x64.tar.gz"
Run Code Online (Sandbox Code Playgroud)

请确保使用正在下载的版本替换下载链接.

  • _(也许这个zillionth转发最终会成功.)_一个简单的`--header"Cookie:oraclelicense = accept-securebackup-cookie"`(或`--header"Cookie:oraclelicense = [any-character(s) - 但是单个空间]"`)似乎工作正常.你能证实一下吗? (6认同)
  • 已更新 Oracle JDK 11 解决方案不再起作用 (5认同)
  • 收到错误 404:未找到 JDK 11,可能是错误的 URL? (4认同)
  • 我尝试了新的121版本与网址http://download.oracle.com/otn-pub/java/jdk/8u121-b13/jdk-8u121-linux-x64.tar.gz,但它似乎不起作用.任何想法? (3认同)
  • 更新全新的Java 8:`wget --no-check-certificate -c --header"Cookie:oraclelicense = accept-securebackup-cookie"http://download.oracle.com/otn-pub/java/jdk/ 8-B132/JDK -8- Linux的x64.tar.gz`._-- no-cookies_是冗余的,只有_Wget_ 1.12及更旧版本才需要_-- no-check-certificate_,缺少SAN支持(主要是RHEL/CentOS 6.x)._cURL_版本是:`curl -L -C - -b"oraclelicense = accept-securebackup-cookie"-O http://download.oracle.com/otn-pub/java/jdk/8-b132/jdk-8 -linux-x64.tar.gz` (2认同)

Det*_*Det 246

(伊朗更新了我的回答,但这里要澄清一切.)

编辑:已于2018年10月16日发布的Java 11.0.1更新

wget的

wget -c --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/11.0.1+13/90cf5d8f270a4347a95050320eef3fb7/jdk-11.0.1_linux-x64_bin.tar.gz
Run Code Online (Sandbox Code Playgroud)

JRE 8u191(无cookie标志): http
://javadl.oracle.com/webapps/download/AutoDL?BundleId = 235717_2787e4a523244c269598db4e85c51e0c有关更多信息,请参阅oracle.comjava.com中的下载.

  • -c / --continue

    允许继续未完成的下载.

  • --header "Cookie: oraclelicense=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".

Wget <1.13要求

  • --no-check-certificate

    仅适用wget 1.12及更早版本,它们 支持 主题备用名称(SAN)证书(主要是Red Hat Enterprise Linux 6.x和朋友,如CentOS).1.13于2011年8月发布.

    要查看当前版本,请使用: wget --version | head -1

不需要

  • --no-cookies

    该组合--no-cookies --header "Cookie: name=value"被称为" 官方 "cookie支持,但这里并不严格要求.

卷曲

curl -L -C - -b "oraclelicense=accept-securebackup-cookie" -O http://download.oracle.com/otn-pub/java/jdk/11.0.1+13/90cf5d8f270a4347a95050320eef3fb7/jdk-11.0.1_linux-x64_bin.tar.gz
Run Code Online (Sandbox Code Playgroud)
  • -L / --location

    所需的卷曲通过所有的镜子重定向.

  • -C / --continue-at -

    往上看.cURL最后需要破折号(-).

  • -b / --cookie "oraclelicense=accept-securebackup-cookie"

    同样-H / --header "Cookie: ...",但也接受文件.

  • -O

    需要卷曲保存文件(请参阅笔者的比较更多的差异).

  • "前面的破折号"应该是"按照任一形式的选项划线",但这是一个很好的总结. (2认同)

And*_*tin 32

从命令行下载Java总是很麻烦.我一直在做的就是使用FireFox(其他浏览器可能有效)在我的笔记本电脑上启动下载,暂停它(在下载窗口中),使用显示的上下文菜单中的"复制下载链接"菜单项下载文件.然后可以在Linux机器上使用此URL来下载相同的文件.我希望URL的生存时间很短.丑,但一般都很成功.

  • 这是一个有趣的问题,但没有回答这个问题.单击FireFox与"自动下载"不兼容. (3认同)

jdr*_*ews 23

已更新为JDK 8u171 RPM

wget --no-check-certificate -c --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u171-b11/512cd62ec5174c3487ac17c61aaa89e8/jdk-8u171-linux-x64.rpm
Run Code Online (Sandbox Code Playgroud)

过时的链接如下

已更新为JDK 8u161 RPM

wget --no-check-certificate -c --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u161-b12/2f38c3b165be4555a1fa6e98c45e0808/jdk-8u161-linux-x64.rpm
Run Code Online (Sandbox Code Playgroud)

更新了JDK 8u152 RPM

wget --no-check-certificate -c --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u152-b16/aa0333dd3019491ca4f6ddbe78cdb6d0/jdk-8u152-linux-x64.rpm
Run Code Online (Sandbox Code Playgroud)

已更新为JDK 8u144 RPM

wget --no-check-certificate -c --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/jdk-8u144-linux-x64.rpm
Run Code Online (Sandbox Code Playgroud)

更新了JDK 8u131 RPM

wget --no-check-certificate -c --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm
Run Code Online (Sandbox Code Playgroud)

已更新为JDK 8u121 RPM

wget --no-check-certificate -c --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u121-b13/e9e7ea248e2c4826b92b3f075a80e441/jdk-8u121-linux-x64.rpm
Run Code Online (Sandbox Code Playgroud)

  • 这绝对帮助了我.要使用tar.gz,我只需将.rpm重命名为.tar.gz (2认同)

sor*_*rin 18

我知道Oracle尽一切可能使他们的Java Runtime和Java SDK尽可能地努力.

以下是命令行爱好者的一些指南.

对于类似Debian的系统(在Debiansqueeze和Ubuntu12.x + 上测试)

su -
echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu precise main" | tee -a /etc/apt/sources.list
echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu precise main" | tee -a /etc/apt/sources.list
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EEA14886
apt-get update
apt-get install --yes oracle-java7-installer
exit
Run Code Online (Sandbox Code Playgroud)

注意:如果您知道更好或更简单的方式添加评论,我将更新指南.

  • 截至2013-11-02,其他方法不易调整到不同的版本.此方法适用于当前版本,并且可以通过apt-get选项(如"--yes")自动/脚本化/无人值守运行. (2认同)

Jua*_*o G 9

Java SE开发工具包8u201

TAR GZ:

wget  --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" https://download.oracle.com/otn-pub/java/jdk/12.0.2+10/e482c34c86bd4bf8b56c0b35558996b9/jdk-12.0.2_linux-x64_bin.tar.gz
Run Code Online (Sandbox Code Playgroud)

RPM:

wget  --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" https://download.oracle.com/otn-pub/java/jdk/12.0.2+10/e482c34c86bd4bf8b56c0b35558996b9/jdk-12.0.2_linux-x64_bin.tar.gz
Run Code Online (Sandbox Code Playgroud)

或者从oracle中获取其他包中的链接并覆盖url:

wget  --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" https://download.oracle.com/otn-pub/java/jdk/12.0.2+10/e482c34c86bd4bf8b56c0b35558996b9/jdk-12.0.2_linux-x64_bin.tar.gz
Run Code Online (Sandbox Code Playgroud)


Jas*_* Xu 7

最新测试,

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 "

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


the*_*der 6

Oracle在下载链接上放置了一个预防cookie,迫使您同意这些条款,即使使用Java的许可协议明确规定只使用Java,您同意许可.

Oracle想要的方法是您通过协议下载它.之后,可以针对您的特定Linux修改此脚本

#!/bin/bash
#Author: Yucca Nel http://thejarbar.org
#Will restart system
#Modify these variables as needed...
tempWork=/tmp/work
locBin=/usr/local/bin
javaUsrLib=/usr/lib/jvm

sudo mkdir -p $javaUsrLib
mkdir -p $tempWork
cd $tempWork

#Extract the download
tar -zxvf $downloadDir/jdk*tar.gz

#Move it to where it can be found...

sudo mv -f $tempWork/jdk* $javaUsrLib/

sudo ln -f -s $javaUsrLib/jdk1/bin/* /usr/bin/

#Update this line to reflect versions of JDK...
export JAVA_HOME="$javaUsrLib/jdk1.7.0_03"
#Extract the download
tar -zxvf $tempWork/*

#Move it to where it can be found...

sudo mv -f $tempWork/jdk1* $javaUsrLib/

sudo ln -f -s $javaUsrLib/jdk1*/bin/* /usr/bin/
sudo rm -rf $tempWork
#Update this line to reflect newer versions of JDK...
export JAVA_HOME="$javaUsrLib/jdk1.7.0_03"

if ! grep "JAVA_HOME=$javaUsrLib/jdk1.7.0_03" /etc/environment
then
    echo "JAVA_HOME=$javaUsrLib/jdk1.7.0_03"| sudo tee -a /etc/environment
fi


exit 0
Run Code Online (Sandbox Code Playgroud)

  • 当问题标题包含Linux时,答案假定Linux是多么奇怪?虽然Linux本身并非如此,但它并不是一刀切的.鉴于这是我对自己问题的回答,我已对其进行了测试,并且对我有用. (7认同)

Col*_*eld 6

对于那些也需要JCE8的人,你也可以下载.

curl -L -C - -b "oraclelicense=accept-securebackup-cookie" -O http://download.oracle.com/otn-pub/java/jce/8/jce_policy-8.zip
Run Code Online (Sandbox Code Playgroud)

要么

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


Hir*_*o2k 5

这适用于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
Run Code Online (Sandbox Code Playgroud)


Kai*_*Kai 5

这个命令现在可以下载jdk8 tgz包(2018-09-06),祝你好运!

wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u141-b15/336fa29ff2bb4ef291e347e091f7f4a7/jdk-8u141-linux-x64.tar.gz"
Run Code Online (Sandbox Code Playgroud)