Unable to set JAVA_HOME to jdk

I am trying to run android studio on ubuntu 14.04 LTS. But when I run the studio.sh script, i am asked to set JAVA_HOME to jdk from jre. Despite the fact that I have set
JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64
from the environment file in etc and added my own script in profile.d, the error is still there. Where am I going wrong?

Thanks in advance

PS: When I use echo $JAVA_HOME, it does show the value that I have set.

Edit: Output for ls /usr/lib/jvm:

java-1.5.0-gcj*            java-1.7.0-openjdk-amd64*  java-7-openjdk-amd64
java-1.5.0-gcj-4.8-amd64  java-6-openjdk-amd64      java-gcj*
java-1.6.0-openjdk-amd64*  java-6-openjdk-common     java-gcj-4.8*

asteriks (*) are cyan in color and rest are blue. Sorry coundn’t upload screenshot.

Edit 2: Output for update-alternatives --display java

java - auto mode
link currently points to /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java
/usr/bin/gij-4.8 - priority 1048
slave java.1.gz: /usr/share/man/man1/gij-4.8.1.gz
/usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java - priority 1061
slave java.1.gz: /usr/lib/jvm/java-6-openjdk-amd64/jre/man/man1/java.1.gz
/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java - priority 1071
slave java.1.gz: /usr/lib/jvm/java-7-openjdk-amd64/jre/man/man1/java.1.gz
Current 'best' version is '/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java'.

I have tried setting JAVA_HOME to /usr/lib/jvm/java-7-openjdk-amd64 and /usr/lib/jvm/java-7-openjdk-amd64/bin. Nothing seems to work.

Answer

The problem is that your java is not jdk but only jre. And it is installed a weird way.

Install java a normal way by

sudo apt-get install openjdk-7-jdk

and set

JAVA_HOME=/usr/lib/jvm/openjdk-7-jdk-amd64/

Attribution
Source : Link , Question Author : Anubhav Baweja , Answer Author : Pilot6

Leave a Comment