如何在命令行中接受jdk的许可协议?

时间:2012-09-02 22:44:51

标签: linux amazon-ec2 wget java-7

我尝试将jdk7(Linux x64 rpm)安装到我的Amazon EC2实例上。我用wget和curl -o这样做但是没有成功下载。相反,它下载了一个错误的html文件,其中它告诉在下载之前接受许可协议。 我使用此链接http://www.oracle.com/technetwork/java/javase/downloads/jdk7u7-downloads-1836413.html接受协议,之后我右键单击包并复制链接并尝试通过命令行下载,但它无法正常工作。 我将它下载到我的本地计算机并使用scp将其移动到EC2中的本地目录。但是当我尝试执行它时,它抛出了这些错误:

sudo rpm -i jdk-7u7-linux-x64.rpm
Unpacking JAR files...
rt.jar...
Error: Could not open input file: /usr/java/jdk1.7.0_07/jre/lib/rt.pack
jsse.jar...
Error: Could not open input file: /usr/java/jdk1.7.0_07/jre/lib/jsse.pack
charsets.jar...
Error: Could not open input file: /usr/java/jdk1.7.0_07/jre/lib/charsets.pack
tools.jar...
Error: Could not open input file: /usr/java/jdk1.7.0_07/lib/tools.pack
localedata.jar...
Error: Could not open input file: /usr/java/jdk1.7.0_07/jre/lib/ext/localedata.pack

我用谷歌搜索了一个解决方案并遇到了这个链接:http://docs.oracle.com/javase/7/docs/webnotes/install/linux/linux-jdk.html

尽管它说: “1.下载文件。在下载文件之前,您必须接受许可协议。”有没有办法通过命令行接受许可?

谢谢!

我认为这个问题不是由接受许可协议(即下载)的问题引起的,我认为这与一个有缺陷的rpm包有关。发布这个rpm -i install,java工作吗?你能导航到/usr/java/jdk1.7.0_07/jre/bin并运行java吗?

3 个答案:

答案 0 :(得分:6)

不是你,而是Oracle网站。他们改变了他们的许可策略。

请阅读此blog post以获取更多信息,以及有关自动化的一些提示。

帖子底部有趣的小故事:

  

根据Java SE的OTN BCL文档:

     

通过选择“接受许可协议”(或等效)按钮   和/或使用软件您承认您已阅读过   条款并同意他们。

答案 1 :(得分:6)

对我而言,它的工作如下

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

答案 2 :(得分:0)

有一个简单的方法:

wget --no-check-certificate --no-cookies --header "Cookie: gpw_e24=yippi ka yei madafaka;" http://download.oracle.com/blahblah....

您可以发送任何您想要的“gpw_e24”

的cookie值

P.D:请原谅我可怜的英语,尽我所能; - )