无法使用wget在CentOS机器上安装oracle jdk

时间:2017-05-27 05:54:41

标签: java linux

我想在CentOS上安装oracle java jdk 8 我无法安装java jdk,因为当我尝试使用命令

安装java jdk时
[root@ADARSH-PROD1 ~]# 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/8u131-b27/jdk-8u131-linux-x64.rpm"

我收到输出:

Connecting to edelivery.oracle.com 
(edelivery.oracle.com)|23.211.196.232|:443... connected.
HTTP request sent, awaiting response... 302 Moved Temporarily
Location: http://download.oracle.com/otn-pub/java/jdk/8u131-b27/jdk-8u131-    linux-x64.rpm?AuthParam=1495864027_230ebffd10615c26528e8d2496500338 [following]
--2017-05-27 11:15:07--  http://download.oracle.com/otn-pub/java/jdk/8u131-    b27/jdk-8u131-linux-x64.rpm?    AuthParam=1495864027_230ebffd10615c26528e8d2496500338
Connecting to download.oracle.com (download.oracle.com)|184.25.109.32|:80...     connected.
HTTP request sent, awaiting response... 404 Not Found
2017-05-27 11:15:09 ERROR 404: Not Found.

4 个答案:

答案 0 :(得分:5)

Oracle已经更新了链接生成机制。它现在包含了一些序列,它似乎对于版本是持久的,但是使用未知的机制生成。 此外,要下载latest以外的任何版本,您现在需要拥有Oracle帐户:

  

对于生产用途,Oracle建议下载最新的JDK和   JRE版本并允许自动更新。

     

只有开发人员和企业管理员才能下载这些内容   版本。

     

下载这些版本需要oracle.com帐户。如果你   没有oracle.com帐户,您可以使用顶部的链接   这个页面可以了解更多信息并免费注册。

请参阅Oracle Java Archives页面上的详情。

所以你现在有两个选择。

选项1。通过新的直接链接使用最新版本(现在为8u131)。 在您接受许可协议后,该链接在Java SE Development Kit 8 downloads page处可用。你的命令将是:

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/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm"

选项2。切换到openjdk包:

yum install java-1.8.0-openjdk

OpenJDK: Download and install页面上查看有关openjdk安装的更多信息。

答案 1 :(得分:2)

对我来说,无论使用什么脚本,每次都直接在远程Linux服务器上使用NextToken会失败。它要么以HTML格式下载文件,要么根本不下载。

进行此安装的最好,最可靠的方法是

  1. 忘记wget并将文件直接下载到您的系统
  2. 使用WinSCP或任何其他免费的SFTP或FTP客户端将文件传输到您的服务器
  3. 然后从文件位置运行wget

答案 2 :(得分:1)

我和jdk-8u131的OP有同样的问题,在检查上面的答案中的选项1命令后我发现它完全一样。我剪切了选项1回答的粘贴,但它工作了!所以,然后我再次尝试了几次我的原始呼叫(完全相同),并且再次使用相同的消息再次失败,然后在大约第5或第6次它运行...所以我想,一旦你是使用最新的URL,它可以与选项1一起使用,但您可能会在多个场合看到404错误 - 如果是这样,只需等待然后重试。

答案 3 :(得分:1)

这种事情反复出现。根本问题是Oracle希望您阅读并同意许可条款。

这是合法的事情。如果您可以实施一种无需人工点击“我同意”按钮即可自动执行下载的方案,那么某些法官可能会裁定该协议条款不适用于您。

因此,Oracle试图使自动下载“免费”版本的Java变得困难(或至少……不简单)。而且他们不时地改变机制。

有两种解决方法:

  1. 询问Oracle是否可以让您访问稳定的下载站点(大概具有密码访问控制),如果您支付了许可证费用。 (我实际上不知道他们是否这样做。)

  2. 为所需的每个Java版本手动下载发行版,并将其保存在安全的 private 位置 1 中。然后更改自动部署代码以从该位置获取发行版。

  3. 切换到OpenJDK的第三方提供商;例如Linux软件包的来源,或者是提供OpenJDK二进制发行版的提供商之一,可以免费和不受限制地下载这些软件。

我知道上面所有这些都需要一些努力。但是,每当发生未预料到的变化时,使用“ http://download.oracle.com”中的脚本下载进行“忙碌”也是如此。


1-1)首先与您的律师联系。我认为许可证允许这样做,但是IANAL。 2)不要故意或无意间发布它们,否则您可能会在侵犯版权诉讼中处于错误的境地!