当我试图从Oracle下载Java时,我最终下载了一个页面,告诉我需要同意OTN许可条款。
对不起! 为了从Oracle技术网络下载产品,您必须同意OTN许可条款。 请务必…… 你的浏览器已经启用了“cookies”和JavaScript。 您点击了希望下载的产品的“接受许可”。 在接受许可后的30分钟内尝试下载。
如何下载及安装Java?
当我试图从Oracle下载Java时,我最终下载了一个页面,告诉我需要同意OTN许可条款。
对不起! 为了从Oracle技术网络下载产品,您必须同意OTN许可条款。 请务必…… 你的浏览器已经启用了“cookies”和JavaScript。 您点击了希望下载的产品的“接受许可”。 在接受许可后的30分钟内尝试下载。
如何下载及安装Java?
当前回答
从命令行下载Java一直很麻烦。我最近一直在做的是使用FireFox(其他浏览器也可以)在我的笔记本电脑上开始下载,暂停它(在下载窗口内),使用上下文菜单中显示的“复制下载链接”菜单项来下载文件。然后可以在Linux机器上使用该URL下载相同的文件。我希望URL的生存时间很短。丑陋,但总体上是成功的。
其他回答
为什么不点击从浏览器下载,然后复制和粘贴下载的确切链接,例如:
wget http://download.oracle.com/otn-pub/java/jdk/7u40-b43/jdk-7u40-linux-x64.tar.gz?AuthParam=1380225131_dd70d2038c57a4729d8c0226684xxxx
在oracle中接受术语后,您可以通过查看浏览器的network选项卡找到链接并点击下载。Chrome浏览器下的F12。Firefox中的Firebug。
从命令行下载Java一直很麻烦。我最近一直在做的是使用FireFox(其他浏览器也可以)在我的笔记本电脑上开始下载,暂停它(在下载窗口内),使用上下文菜单中显示的“复制下载链接”菜单项来下载文件。然后可以在Linux机器上使用该URL下载相同的文件。我希望URL的生存时间很短。丑陋,但总体上是成功的。
上下文
我最近也遇到了同样的问题,尽管本页上的评论和一些 其他人提供了有用的提示——我认为把我为那些可能需要进一步帮助的人解决问题所采取的步骤记录下来会很好。
系统细节
我在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
我希望这对你有帮助。
我没有为每一个新的Java版本都使用一个新的链接或更改现有的脚本,而是寻找一种更通用的方法来自动下载所需的Java包,然后通过yum localinstall ${JAVA_ENVIRONMENT}-${JAVA_VERSION}-linux-x64.rpm进行安装。
我使用了一种类似于手动/用户操作的简单方法来查找包并下载它。我也非常确定,通过使用其他工具(如egrep、awk等),人们会找到一种更优雅的方式来完成它。,所以这里留一个例子:
#!/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
由于下载链接现已可用,您可以进一步使用wget或curl。
这适用于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