首页 文章

如何在Linux TODAY上自动下载和安装Java JDK?

提问于
浏览
3

关于如何在Linux上自动下载Java JDK,这是一个很好的答案:Downloading Java JDK on Linux via wget is shown license page instead

描述的方法不再有效 . 似乎Oracle再一次改变了对其下载服务器的限制来阻止这种方法 . 我想他们不希望Java在AWS等自动扩展服务器系统中使用 . 他们在想什么?

我正在尝试的具体命令是将最新的7u51版本下载到AWS服务器,以便我可以安装我的Web应用程序:

wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2%2Fwww.oracle.com%2F" "http://download.oracle.com/otn-pub/java/jdk/7u51-b13/jdk-7u51-linux-i586.rpm"

这不再符合OTN许可协议,如本封闭式回答所述:https://stackoverflow.com/a/21431491/2144836

从我的浏览器尝试这个,我看到下载链接在查询参数中添加了一个额外的身份验证:

http://download.oracle.com/otn-pub/java/jdk/7u51-b13/jdk-7u51-linux-i586.rpm?AuthParam=1392853518_cb83fe47e04500eecccdb66722756fb3

将此链接与AuthParam复制并粘贴到 wget 调用中也不起作用 . 我最初的猜测是它与会话或IP地址相关联 .

尝试将其手动下载到服务器(或一天一百次一百个服务器)是不合理的,所以我希望有一个适用于当前限制的解决方法 .

那么,是否有自动下载最新JDK的解决方法?或者我应该完全放弃Oracle吗?

3 回答

  • 2

    你的命令对我来说很好 . 检查如下:

    $ ls jdk*
    ls: cannot access jdk*: No such file or directory
    
    $ wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2%2Fwww.oracle.com%2F" "http://download.oracle.com/otn-pub/java/jdk/7u51-b13/jdk-7u51-linux-i586.rpm"
    --2014-02-20 14:03:49--  http://download.oracle.com/otn-pub/java/jdk/7u51-b13/jdk-7u51-linux-i586.rpm
    Resolving download.oracle.com... 23.11.235.25, 23.11.235.43
    Connecting to download.oracle.com|23.11.235.25|:80... connected.
    HTTP request sent, awaiting response... 302 Moved Temporarily
    Location: https://edelivery.oracle.com/otn-pub/java/jdk/7u51-b13/jdk-7u51-linux-i586.rpm [following]
    --2014-02-20 14:03:50--  https://edelivery.oracle.com/otn-pub/java/jdk/7u51-b13/jdk-7u51-linux-i586.rpm
    Resolving edelivery.oracle.com... 23.35.70.140
    Connecting to edelivery.oracle.com|23.35.70.140|:443... connected.
    WARNING: certificate common name `www.oracle.com' doesn't match requested host name `edelivery.oracle.com'.
    HTTP request sent, awaiting response... 302 Moved Temporarily
    Location: http://download.oracle.com/otn-pub/java/jdk/7u51-b13/jdk-7u51-linux-i586.rpm?AuthParam=1392885351_97435f8939e97d11f6065b4147ddbae9 [following]
    --2014-02-20 14:03:50--  http://download.oracle.com/otn-pub/java/jdk/7u51-b13/jdk-7u51-linux-i586.rpm?AuthParam=1392885351_97435f8939e97d11f6065b4147ddbae9
    Reusing existing connection to download.oracle.com:80.
    HTTP request sent, awaiting response... 200 OK
    Length: 121271382 (116M) [application/x-redhat-package-manager]
    Saving to: `jdk-7u51-linux-i586.rpm'
    
    100%[=================================================================================================================================>] 12,12,71,382  381K/s   in 4m 14s  
    
    2014-02-20 14:08:04 (466 KB/s) - `jdk-7u51-linux-i586.rpm' saved [121271382/121271382]
    
    
    $ ls -l jdk*
    -rw-r--r-- 1 root root 121271382 2014-02-11 00:10 jdk-7u51-linux-i586.rpm
    

    运行此命令时会出现什么错误?我在3个不同的地方试过你的命令,每次都有效 .

  • 0

    Oracle已做出改变,影响以前的方法 .

    March 2014 的正确答案如下:

    Downloading Java JDK on Linux via wget is shown license page instead

  • 1

    自动执行下载java的过程,更改执行权限并安装它 .

    操作系统: - CentOS

    gedit abc

    //创建一个名为abc的bash文件,并从[#!/ bin / bash直到rpm -ivh jdk-8u31-linux-x64.rpm]开始复制到脚本下面到abc文件 .

    #!/斌/庆典

    wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u31-b13/jdk-8u31-linux-x64.rpm

    chmod xr jdk-8u31-linux-x64.rpm

    rpm -ivh jdk-8u31-linux-x64.rpm

    //保存文件并退出

    授予abc文件执行权限[chmod xr abc]

    运行文件./abc

相关问题