当我尝试从Oracle下载Java时,我却下载了一个页面,告诉我我需要同意OTN许可条款。
抱歉!
为了从Oracle技术网络下载产品,您必须同意OTN许可条款。
请确保...
- 您的浏览器已启用“cookies”和JavaScript。
- 您已点击“接受许可”以下载所需产品。
- 您在接受许可证后30分钟内尝试下载。
我该如何下载和安装Java?
当我尝试从Oracle下载Java时,我却下载了一个页面,告诉我我需要同意OTN许可条款。
抱歉!
为了从Oracle技术网络下载产品,您必须同意OTN许可条款。
请确保...
- 您的浏览器已启用“cookies”和JavaScript。
- 您已点击“接受许可”以下载所需产品。
- 您在接受许可证后30分钟内尝试下载。
我该如何下载和安装Java?
截至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
PS: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进行更新
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"
UPDATED FOR 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
使用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
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
使用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
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"
请确保将下载链接替换为您正在下载的版本的正确链接。
(Irani已经更新了我的答案,但是这里是为了澄清一切。)
wget -c --header "Cookie: oraclelicense=accept-securebackup-cookie" https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz
< p >< em>查看oracle.com中的下载以获取更多信息。-c / --continue
允许继续未完成的下载。
--header "Cookie: oraclelicense=accept-securebackup-cookie"
自2014年3月15日起,在接受许可协议后向用户提供此cookie,该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
用于通过所有镜像进行重定向。
-C / --continue-at -
请参见上文。cURL需要在末尾加入短横线(-
)。
-b / --cookie "oraclelicense=accept-securebackup-cookie"
与-H / --header“Cookie:…”
相同,但也接受文件。
-O
用于保存文件(有关更多差异,请参见[作者的比较][8])。
-
)_”。这应该很清楚了,因为命令中已经展示了flag
的另一种形式。 - Det从命令行下载Java一直很麻烦。我最近一直在使用FireFox(其他浏览器可能也可以)在我的笔记本上开始下载,暂停它(在下载窗口中),使用上下文菜单显示的“复制下载链接”菜单项。然后可以在Linux框中使用此URL下载相同的文件。我预计该URL有短暂的生存期。不太美观,但通常成功。
AuthParam
与 Oracle 检查用户是否同意许可证有关。 - asgs适用于 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
我知道Oracle尽可能地让他们的Java Runtime和Java SDK变得非常难用。
以下是一些适用于命令行爱好者的指南。
对于类似Debian的系统(在Debian
squeeze和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
注意:如果您知道更好或更容易的方法,请添加评论,我将更新指南。
--yes,--assume-yes,--force-yes
选项安装 oracle-java8-installer,但每次安装都要求我按回车键接受许可协议。 - Drey在命令行安装不同的JDK有一个很好的替代方案...使用https://sdkman.io/,有很多供应商可供选择。
sdk install java 19.0.1-oracle
最新测试通过,
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"
请注意,如果您关心绝对安全,证书检查已被禁用。:)
如果需要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
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
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"
--header "Cookie: oraclelicense=accept-securebackup-cookie"
(或者--header "Cookie: oraclelicense=[任意字符(但不能包括空格)]"
) 看起来可以正常工作。您能否确认一下? - Detwget --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_ 参数是多余的,_--no-check-certificate_ 参数仅在使用没有 SAN 支持(主要是 RHEL/CentOS 6.x)的旧版本 _Wget_(1.12 及之前)时需要。而使用 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
。 - Det