5
votes

I tried to install jdk7 (Linux x64 rpm) on to my Amazon EC2 instance. I used wget and curl -o to do so but it did not download successfully. Instead, it downloaded an error html file wherein it tells to accept the license agreement before downloading. I used this link http://www.oracle.com/technetwork/java/javase/downloads/jdk7u7-downloads-1836413.html to accept the agreement after which I right clicked on the package and copied the link and tried downloading it through command line, but it did not work. I downloaded it to my local machine and used scp to move it on to my local directory in EC2. But when I tried executing it, it threw these errors :

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

I googled for a solution and came across this link : http://docs.oracle.com/javase/7/docs/webnotes/install/linux/linux-jdk.html

Even though it says : "1. Download the file. Before the file can be downloaded, you must accept the license agreement." is there any way of accepting the license through command line?

Thank you!

I don't think this issue is caused by a problem accepting the license agreement (that is just to download), I think this is related to a buggy rpm package. Post this rpm -i install, does java work? Can you navigate to /usr/java/jdk1.7.0_07/jre/bin and run java?

3
The rpm package was fine. I wasn't able to download the jdk directly using the terminal and instead was trying to scp from my local machine to my Amazon instance. Probably scp didn't do a good job. Nevertheless, the solution posted below worked just fine.CleanSock

3 Answers

6
votes

It's not you, it is the Oracle site. They changed their licensing strategy.

Read this blog post for more information, and some tips on automating it.

An interesting tidbit at the bottom of the post:

According to the OTN BCL document for Java SE:

BY SELECTING THE “ACCEPT LICENSE AGREEMENT” (OR THE EQUIVALENT) BUTTON AND/OR BY USING THE SOFTWARE YOU ACKNOWLEDGE THAT YOU HAVE READ THE TERMS AND AGREE TO THEM.

6
votes

For me it worked the following

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
0
votes

There's a simple way:

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

You can send anything you want as cookie value for "gpw_e24"

P.D: Excuse my poor english, trying my best ;-)