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

2024-10-11 08:36:00
admin
原创
136
摘要:问题描述:当我尝试从 Oracle 下载 Java 时,最终下载了一个页面,告诉我需要同意 OTN 许可条款。对不起!为了从 Oracle 技术网下载产品,您必须同意 OTN 许可条款。确保...您的浏览器已启用“cookies”和 JavaScript。您单击了要下载的产品的“接受许可”。您在接受许可后 3...

问题描述:

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

对不起!

为了从 Oracle 技术网下载产品,您必须同意 OTN 许可条款。

确保...

  • 您的浏览器已启用“cookies”和 JavaScript。

  • 您单击了要下载的产品的“接受许可”。

  • 您在接受许可后 30 分钟内尝试下载。

如何下载并安装 Java?


解决方案 1:

自 2021 年 12 月 23 日起适用于 JDK 17

wget --no-check-certificate -c --header "Cookie: oraclelicense=accept-securebackup-cookie" https://download.oracle.com/java/17/archive/jdk-17.0.1_linux-x64_bin.rpm

自 2021 年 7 月 27 日起适用于 JDK 16

wget --no-check-certificate -c --header "Cookie: oraclelicense=accept-securebackup-cookie" https://download.oracle.com/otn-pub/java/jdk/16.0.2%2B7/d4a915d82b4c4fbb9bde534da945d746/jdk-16.0.2_linux-x64_bin.rpm

自 2020 年 11 月 5 日起适用于 JDK 15

wget --no-check-certificate -c --header "Cookie: oraclelicense=accept-securebackup-cookie" https://download.oracle.com/otn-pub/java/jdk/15.0.1+9/51f4f36ad4ef43e39d0dfdbaf6549e32/jdk-15.0.1_linux-x64_bin.rpm

自 2020 年 7 月 11 日起适用于 JDK 14

wget --no-check-certificate -c --header "Cookie: oraclelicense=accept-securebackup-cookie" https://download.oracle.com/otn-pub/java/jdk/14.0.1+7/664493ef4a6946b186ff29eb326336a2/jdk-14.0.1_linux-x64_bin.rpm -O ~/Downloads/jdk-14.0.1_linux-x64_bin.rpm

附言:Alf 添加了这个(我):-) 这个,我不知道如何在最后发表评论...享受它。

已针对 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 进行更新

西藏自治区广州:

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"

转速:

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

转速:

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

西藏自治区广州:

 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

使用 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

在上述所有情况下,用“i586”替换“x64”以下载 32 位版本。

  • -j -> 垃圾 cookies

  • -k -> 忽略证书

  • -L -> 遵循重定向

  • -H [参数] -> 标题

curl可以代替 来使用wget

JDK 7u79 更新

西藏自治区广州:

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

使用 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

再次确保为要下载的版本指定正确的 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"

确保将下载链接替换为您正在下载的版本的正确链接。

解决方案 2:

伊朗人更新了我的回答,但这里是为了澄清一切。

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

获得

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 / --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”。

不要求

  • --no-cookies

这种组合--no-cookies --header "Cookie: name=value"被称为“官方” cookie 支持,但这里并非严格要求。

卷曲

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

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

  • -C / --continue-at -

-参见上文。cURL 要求末尾有破折号 ( )。

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

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

  • -O

需要cURL来保存文件(有关更多差异,请参阅作者的比较)。

解决方案 3:

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

解决方案 4:

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

以下是过期的链接

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

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

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

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

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

解决方案 5:

我知道 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

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

解决方案 6:

有一个很好的选择,可以从命令行安装不同的 JDK ...使用https://sdkman.io/,有很多供应商

sdk install java 19.0.1-oracle

解决方案 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 "

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

解决方案 8:

尽管 Java 使用许可协议明确规定,只要使用 Java,就表示您“同意”该许可,但 Oracle 仍在下载链接上放置了预防性 cookie,以强迫您同意条款。

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

解决方案 9:

对于那些也需要 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

解决方案 10:

这适用于 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

解决方案 11:

此命令现在可以下载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"

解决方案 12:

我不想为每个新的 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

解决方案 13:

以上所有内容似乎都假设您知道最新 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 \n--password=$PW --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com" \nhttps://updates.oracle.com/Orion/Services/download/$PATCH_FILE?aru=16884382&\npatch_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.

解决方案 14:

正如这里已经发布的那样:
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":"1+jdk-8u[0-9]+- linux-x64.rpm "' index.html | grep -Eoi 'http:1+' | xargs wget --no-cookies --header "Cookie:gpw_e24=xxx;oraclelicense=accept-securebackup-cookie;" -q -O ./jdk8.rpm && sudo rpm -i ./jdk8.rpm

加粗部分请替换为您喜欢的包。

解决方案 15:

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"

解决方案 16:

java-package我解决这个问题(针对基于 Debian 的 Linux 发行版),方法是多次制作软件包(针对各种架构),然后在内部分发它们。

最大的好处是,无论 Oracle 的网页变得多么疯狂,这种方法始终有效。Oracle 再也无法破坏我的构建!

缺点是最初设置时需要做更多工作。

  • 在浏览器中手动下载 tar.gz 文件(从而“接受”其条款)

  • 运行make-jpkg jdk-7u51-linux-x64.tar.gz。这将创建oracle-java8-jdk_8_amd64.deb

  • 在您的组织内分发

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

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

当然,在互联网上提供(未加密的).deb 软件包可能违反您与 Oracle 的许可协议,该协议规定:

... Oracle 授予您 ... 许可 ... 复制并在内部使用完整且未经修改的软件,其唯一目的是运行程序”

在接收端,如果您有受密码保护的 apt repo,您​​只需这样做即可apt-get install。如果您有原始软件包,请下载、解密并dpkg -i解密。效果非常好!

解决方案 17:

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

解决方案 18:

尝试

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

解决方案 19:

我为我的 gentoo 机器制作了一个 jdk-download 脚本(专门针对 tar.gz)。它不需要像其他类似脚本一样进行更新,而是尝试“强力”下载您想要的任何版本的最新版本。

用法

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?!!)

博客文章

来源:bitbucket

解决方案 20:

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

它需要 Linux、Docker 和 JDK >= 8 才能运行。

解决方案 21:

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/8u161-b12/2f38c3b165be4555a1fa6e98c45e0808/jdk-8u161-linux-x64.rpm?AuthParam=1516282527_40effcfefd78d78bce12c0a4030a1b05 "

解决方案 22:

语境

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

系统详细信息

我按照以下逐步 pnda 安装指南在 AWS 上设置 PNDA:

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

我在 AWS 云上使用 ubuntu 14.04 [符合免费套餐条件],并从 64 位 windows8.1 笔记本电脑运行代码。我使用 PUTTY 连接到服务器实例。我将 pnda 代码从https://github.com/pndaproject/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)pnda-static-file-dependencies.txt 的第一行引用了从 中下载 jdk-8u131-linux-x64.tar.gz 文件 http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz oraclelicense=accept-securebackup-cookie;此时我的脚本失败并显示以下消息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

我希望这会有所帮助。

解决方案 23:

你应该尝试:

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

解决方案 24:

下载 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}')

我的博客044-wget下载jdk8u221

解决方案 25:

以下是如何自己获取命令。这适用于任何版本:

  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:

从 Oracle JDK 17 开始,此问题将得到解决 -

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

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

可以使用 -

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

格式以获取最新的 17 版本

解决方案 27:

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

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

解决方案 28:

@eric answer对我有用,你需要接受你设置的命令中的条款,即

"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

只要它在 repo 中可用,您就可以通过更改8u131为.来决定更新版本。8uXXX

解决方案 29:

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"

解决方案 30:

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

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。


  1. "
相关推荐
  为什么项目管理通常仍然耗时且低效?您是否还在反复更新电子表格、淹没在便利贴中并参加每周更新会议?这确实是耗费时间和精力。借助软件工具的帮助,您可以一目了然地全面了解您的项目。如今,国内外有足够多优秀的项目管理软件可以帮助您掌控每个项目。什么是项目管理软件?项目管理软件是广泛行业用于项目规划、资源分配和调度的软件。它使项...
项目管理软件   681  
  在项目管理领域,集成产品开发(IPD)流程以其高效、协同的特点,被众多企业视为提升产品竞争力的关键。IPD流程强调跨部门、跨职能的紧密合作,以确保产品从概念到市场各个环节的无缝衔接。然而,实现这一目标并非易事,它需要企业深刻理解并掌握IPD流程中的跨部门协作艺术。本文将深入探讨IPD流程中跨部门协作的三个关键点,旨在为...
IPD项目管理咨询   9  
  掌握IPD流程图:提升团队协作的关键路径在当今快速变化的商业环境中,团队协作的效率与效果直接关系到项目的成功与否。集成产品开发(Integrated Product Development,简称IPD)作为一种先进的研发管理理念,通过跨部门、跨领域的协同工作,能够显著提升产品开发的速度与质量。而IPD流程图,则是这一理...
IPD流程阶段   9  
  IPD流程概述:理解其核心价值与实施背景集成产品开发(Integrated Product Development,简称IPD)是一种先进的产品开发管理理念,它强调跨部门协作、市场导向和快速响应变化的能力。IPD流程不仅关注产品本身的技术创新,更注重将市场、研发、生产、销售等各个环节紧密集成,以实现产品从概念到市场的高...
华为IPD是什么   7  
  在项目管理领域,IPD(Integrated Product Development,集成产品开发)流程以其跨部门协作、高效决策和快速响应市场变化的特点,被众多企业视为提升竞争力的关键。然而,实践IPD流程并非易事,项目管理中的种种错误往往阻碍了其效果的充分发挥。本文旨在深入探讨如何在实施IPD流程时避免这些常见错误,...
IPD框架   7  
热门文章
项目管理软件有哪些?
云禅道AD
禅道项目管理软件

云端的项目管理软件

尊享禅道项目软件收费版功能

无需维护,随时随地协同办公

内置subversion和git源码管理

每天备份,随时转为私有部署

免费试用