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

时间:2012-04-22 14:03:11

标签: java linux install wget

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

  

抱歉!

     

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

     

确保......

     
      
  • 您的浏览器已启用“cookies”并启用了JavaScript。
  •   
  • 您为要下载的产品点击了“接受许可”。
  •   
  • 您在接受许可后30分钟内尝试下载。
  •   

如何下​​载和安装Java?

29 个答案:

答案 0 :(得分:1591)

为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

更新为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

更新为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

更新为JDK 9 看起来您现在可以直接从java.net下载而无需发送标题

wget http://download.java.net/java/GA/jdk9/9/binaries/jdk-9+181_linux-x64_bin.tar.gz

更新为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"

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"

更新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

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

RPM使用curl:

 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

在上述所有情况下,将“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

RPM使用curl:

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

再次确保为要下载的版本指定正确的URL。您可以在此处找到该网址:Oracle JDK download site

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

如果您希望使用wget从命令行下载Oracle JDK,则有一种解决方法。运行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"

请务必使用正在下载的版本替换下载链接。

答案 1 :(得分:246)

Irani更新了我的答案,但这里是为了澄清一切。

修改:更新为Java 11.0.1

中发布的16th October, 2018

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

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在接受License Agreement后提供给用户,并且是访问 download.oracle.com 中的Java包所必需的。 2012年3月27日中的先前(和第一次)实施使用了Cookie gpw_e24=http%3A%2F%2Fwww.oracle.com[...]。这两起案件都未向公众宣布。

    该值不必为“accept-securebackup-cookie”。

Wget&lt; 1.13

需要
  • <强> --no-check-certificate

    wget 1.12及更早版本需要

    not support 主题备用名称(SAN)证书(主要是Red Hat Enterprise Linux 6.x和朋友,如CentOS)。 2011年8月,1.13是released

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

不需要

  • <强> --no-cookies

    组合--no-cookies --header "Cookie: name=value"被称为“official”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
  • <强> -L / --location

    cURL 需要重定向所有镜像。

  • <强> -C / --continue-at -

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

  • <强> -b / --cookie "oraclelicense=accept-securebackup-cookie"

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

  • <强> -O

    cURL 需要保存文件(有关更多差异,请参阅author's comparison)。

答案 2 :(得分:30)

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

答案 3 :(得分:23)

更新了JDK 8u171 RPM

    date                calltime
0   1491928756414930    4643
1   1491928756419607    166
2   1491928756419790    120
3   1491928756419927    142
4   1491928756420083    121
5   1491928756420217    109
6   1491928756420409    52
7   1491928756420476    105
8   1491928756420605    35
9   1491928756420654    120
10  1491928756420787    105
11  1491928756420907    93
12  1491928756421013    37
13  1491928756421062    112
14  1491928756421187    41

下面的过时链接

更新了JDK 8u161 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

更新了JDK 8u152 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

更新了JDK 8u144 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

更新了JDK 8u131 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

更新了JDK 8u121 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

答案 4 :(得分:18)

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

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

对于类似Debian的系统(在Debian挤压和Ubuntu 12.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

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

答案 5 :(得分: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

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

答案 6 :(得分:7)

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/8u201-b09/42970487e3af4f5aa5bca3f542482c60/jdk-8u201-linux-x64.tar.gz"

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/8u201-b09/42970487e3af4f5aa5bca3f542482c60/jdk-8u201-linux-x64.rpm"

或从oracle的另一个包中获取链接,并覆盖url:

wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "your-url"   

答案 7 :(得分: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

答案 8 :(得分:6)

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

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

或者

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

答案 9 :(得分: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

答案 10 :(得分:4)

我没有在每个新Java版本中使用新链接或更改现有脚本,而是寻找一种更通用的方法来自动下载所需的Java包,然后通过yum localinstall ${JAVA_ENVIRONMENT}-${JAVA_VERSION}-linux-x64.rpm进行安装。

我使用了类似于手动/用户操作的某种简单方法来查找包并下载它。我也很确定通过使用其他工具(例如egrepawk等)可以找到一种更优雅的方法,所以请在此处留下示例:

#!/bin/bash

### Proxy settings
# If there is a company proxy 

PROXY="my.proxy.local:8080"
PROXY_TYPE="--proxy-ntlm" # or leave empty with ""
USER="user"
PASS='pass'

### Find out the links to JRE and JDK 
# To do so, got to the page http://www.oracle.com/technetwork/java/javase/downloads/

BASE_URL="technetwork/java/javase/downloads"

# Put the whole page into a single string/line

BASE_URL_OUTPUT="$(curl -s -k ${PROXY_TYPE} -x "http://${USER}:${PASS}@${PROXY}" -L0 http://www.oracle.com/${BASE_URL}/)"

# Define the environments to download 

JAVA_ENVIRONMENTS=("JRE" "JDK") # ! yet "SERVER-JRE"

for JAVA_ENVIRONMENT in "${JAVA_ENVIRONMENTS[@]}"
do

echo
echo "JAVA_ENVIRONMENT="$JAVA_ENVIRONMENT
echo

for (( JAVA_BASE_VERSION = 8; JAVA_BASE_VERSION <= 10; JAVA_BASE_VERSION += 2 ))  
do

echo "JAVA_BASE_VERSION="$JAVA_BASE_VERSION

### "Read the page"
# and follow the links for the package interested in 

DOWNLOAD_SITE="$(echo $BASE_URL_OUTPUT | grep -m 1 -io "${JAVA_ENVIRONMENT}${JAVA_BASE_VERSION}-downloads-[0-9]*.html" -- | tail -1)"
echo "DOWNLOAD_SITE="$DOWNLOAD_SITE

### Gather the necessary download links
# To do so, following the link to the download site
# reading and accept the license 
# 
# ... the greedy regular expression is to address the different syntax of the links
# and already prepared for OR .gz files 

DOWNLOAD_LINK_OUTPUT="$(curl -s -k ${PROXY_TYPE} -x "http://${USER}:${PASS}@${PROXY}" -L -j -H "Cookie: oraclelicense=accept-securebackup-cookie" http://www.oracle.com/${BASE_URL}/${DOWNLOAD_SITE} |  grep -io "filepath.*${JAVA_ENVIRONMENT}-[${JAVA_BASE_VERSION}].*linux[-_]x64[._].*\(rpm\)" -- | cut -d '"' -f 3 | tail -1)"

# and echo out the link

echo "DOWNLOAD_LINK_OUTPUT="$DOWNLOAD_LINK_OUTPUT

done

done

由于下载链接现已推出,因此可以继续wgetcurl

答案 11 :(得分:3)

如上所述: 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&amp;&amp; grep -Eoi&#39;] +&gt;&#39; index.html | grep -Eoi&#39; / technetwork / java / javase / downloads / jdk8-downloads- [0-9] + .html&#39; | (头-n 1)| awk&#39; {print&#34; http://www.oracle.com&#34; $ 1}&#39; | xargs wget --no-cookies --header&#34; Cookie:gpw_e24 = xxx; oraclelicense =接受-securebackup-饼干;&#34; -O index.html -q&amp;&amp; grep -Eoi&#39;&#34; filepath&#34;:&#34; [^&#34;] + jdk-8u [0-9] + - linux-x64.rpm &#34;&#39; index.html | grep -Eoi&#39; http:[^&#34;] +&#39; | xargs wget --no-cookies --header&#34; Cookie:gpw_e24 = xxx; oraclelicense =接受-securebackup-饼干;&#34; -q -O ./jdk8.rpm&amp;&amp; sudo rpm -i ./jdk8.rpm

粗体部分应该替换为您喜欢的包。

答案 12 :(得分:3)

以上所有内容似乎都假设您知道最新Java RPM的URL ...

Oracle提供了每个Java版本的最新更新的持久链接,如下所述 https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=397248601136938&id=1414485.1 - 尽管您需要创建/登录Oracle支持帐户。 *否则,您只能访问每个Java版本的最后一次“公开”更新,例如: 1.6_u45(2013年3月;最新更新为u65,2013年10月)*

一旦知道持久链接,您就应该能够将其解析为真正的下载; 以下内容适用于我,但我还不知道“aru”引用是否会发生变化。

ME=<myOracleID>
PW=<myOraclePW>
PATCH_FILE=p13079846_17000_Linux-x86-64.zip

echo "Get real URL from the persistent link"

wget -o getrealurl.out --no-cookies --no-check-certificate --user=$ME \
--password=$PW --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com" \
https://updates.oracle.com/Orion/Services/download/$PATCH_FILE?aru=16884382&\
patch_file=$PATCH_FILE

wait    # wget appears to go into background, so "wait" waits 
        # until all background processes complete

REALURL=`grep "^--" getrealurl.out |tail -1 |sed -e 's/.*http/http/'`
wget -O $PATCH_FILE $REALURL
#These last steps must be done quickly, as the REALURL seems to have a short-lived 
#cookie on it and I've had no success with  --keep-session-cookies etc.

答案 13 :(得分:2)

我通过使用java-package几次(对于各种体系结构)创建包,然后在内部分发它来解决这个问题(对于基于Debian的Linux发行版)。

最重要的一面是这种方法总能奏效;无论甲骨文的网页多么疯狂。 Oracle不能再破坏我的构建了!

缺点是最初设置起来要做的工作要多一些。

  • 在浏览器中手动下载tar.gz文件(因此&#34;接受&#34;他们的条款)
  • 运行make-jpkg jdk-7u51-linux-x64.tar.gz。这会创建oracle-java8-jdk_8_amd64.deb
  • 在您的组织内分发

为了通过Internet分发,我建议使用受密码保护的apt存储库或使用对称加密提供原始包:

passphrase="Hard to crack string. Use /dev/urandom for inspiration."
gpg --batch --symmetric --force-mdc --passphrase-fd 0 \
   oracle-java8-jdk_8_amd64.deb <<< "$passphrase"

当然,在互联网上提供(未加密的).deb软件包可能违反了与Oracle的许可协议,其中声明:

  

... Oracle授予您......许可证......在内部复制和使用本软件的完整和未经修改仅用于运行程序&#34;

在接收端,如果您有密码保护的apt repo,您​​只需要apt-get install它。如果您有原始包,请下载,解密并dpkg -i。像魅力一样工作!

答案 14 :(得分:2)

此命令目前(2018-09-06)可以下载jdk8 tgz软件包,祝您好运!

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"

答案 15 :(得分:2)

截至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

答案 16 :(得分:2)

wget 这为我工作JDK8

wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2F%www.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm"

答案 17 :(得分:2)

我为我的gentoo框制作了一个jdk下载脚本(特定于tar.gz)。不需要像其他类似的脚本一样进行更新,试图“蛮力”下载最新的版本,无论你想要什么版本。

<强> USAGE

jdk-download< <version> <platform> [<build>]

* <version> - Something like "8u40"
* <platform> - Usually i586 or x64
* <build> - The internal build number used by oracle, to avoid guessing and trying to download starting from 99 to 1 (build 0, really?!!)

Blog post

Source on bitbucket

答案 18 :(得分:1)

<强>上下文

我最近遇到了同样的问题,虽然这个页面上的评论和一些 其他人提供了有用的提示 - 我认为记录我为可能需要进一步帮助的人解决问题所采取的步骤会很好。

系统详情

我按照PND安装指南中的逐步安装指南跟踪在AWS上设置的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到ubuntu实例的pnda代码。

重要提示 请注意,如果您计划在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)在pnda-static-file-dependencies.txt的第一行是从http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz oraclelicense=accept-securebackup-cookie下载jdk-8u131-linux-x64.tar.gz文件的引用;在这一点上,我的脚本失败了消息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,发现显示以下错误消息**In order to download products from Oracle Technology Network you must agree to the OTN license terms**

5)为解决此问题,我对pnda-static-file-dependencies.txt进行了以下更改;我添加了--no-check-certificate --no-cookies来绕过许可条款协议条件

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

我希望这有用。

答案 19 :(得分:1)

你应该尝试:

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

答案 20 :(得分:1)

wget --no-cookies --no-check-certificate --header“Cookie:gpw_e24 = http%3A%2F%2Fwww.oracle.com%2F; oraclelicense = accept-securebackup-cookie”“{{3 }}“

答案 21 :(得分:1)

oracle-java-download是GitHub上的一个项目,允许您为JDK 8和JDK 9创建下载链接,您可以将其用于进一步处理,例如在自动构建或部署过程中。

它需要Linux,Docker和JDK&gt; = 8才能运行。

答案 22 :(得分:1)

尝试

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.

来源:Oracle JVM download using curl/wget

答案 23 :(得分:0)

下载jdk 8u221

nrow(x2) = 20

我的博客044-wget下载jdk8u221

答案 24 :(得分:0)

之所以会发生这种情况,是因为当您在浏览器中单击下载页面上的“接受”按钮时,该网页会保存一个cookie,该cookie用于检查您的协议,然后再下载文件。尝试使用wget从命令行下载时会出现问题,这是因为没有与wget请求一起发送的cookie信息来下载文件,因此从文件服务器的角度来看,您是一个全新的用户,尚未接受许可证协议。

一种解决方案是使用wget实用程序的--header选项发送cookie信息(如上面其他答案所示)。理想情况下,如果某些内容受到保护,则可以使用wget提供的各种会话管理选项。对于这个特定问题,(当前)已通过发送带有下载请求的Cookie标头来解决。

答案 25 :(得分:0)

这里是您自己获取命令的方法。 适用于任何版本:

  1. 访问软件包页面:https://www.oracle.com/java/technologies/javase-jdk11-downloads.html
  2. 点击所需软件包的下载链接
  3. 选中表明您已“审核并接受...”的框
  4. 右键单击并从按钮中复制链接地址
  5. 粘贴到文本编辑器中,然后在“ nexturl =”之后复制所有内容,并以“ https://”开头
  6. 在此命令中更新下载URL,您应该可以进行以下操作:

    wget --no-check-certificate -c --header“ Cookie:oraclelicense = accept-securebackup-cookie” https://download.oracle.com/otn/java/jdk/11.0.6+8/90eb79fb590d45c8971362673c5ab495/jdk-11.0.6_linux-x64_bin.tar.gz

要进一步解释wget,--no-check-certificate应该足够清楚,但是可以使用浏览器中的“开发人员工具网络”选项卡发现标头内容(用于任何调用)。开发人员工具功能强大,非常值得花时间学习。 享受。

答案 26 :(得分:0)

@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来决定更新版本。只要它在仓库中可用。

答案 27 :(得分:-3)

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"

答案 28 :(得分:-4)

为什么不点击从浏览器下载然后复制&amp;粘贴下载的确切链接,例如:

wget http://download.oracle.com/otn-pub/java/jdk/7u40-b43/jdk-7u40-linux-x64.tar.gz?AuthParam=1380225131_dd70d2038c57a4729d8c0226684xxxx

您可以在接受oracle中的条款并单击下载后,通过查看浏览器的网络选项卡找到该链接。 Chrome中的F12。 Firefox中的Firebug。