The full pathname of a JDK installation for Oracle SQL Developer

You only have the Java JRE installed, you need to install the JDK in order for Oracle SQL Devloper to work.

TL;DR

Install the JDK, type sudo apt-get install openjdk-7-jdk in a terminal.

Checking if JDK is Installed

To check if you have the JDK installed, type aptitude search openjdk-7-jdk in the terminal. If you see an i beside either package then it is installed. For example, I have the 64-bit JDK installed on my machine, this is the output.

$ aptitude search openjdk-7-jdk
i   openjdk-7-jdk                                   - OpenJDK Development Kit (JDK)                            
p   openjdk-7-jdk:i386                              - OpenJDK Development Kit (JDK) 

If the package does not have an i beside it, then it is not installed.

Installing JDK

To install in the JDK in ubuntu you need to install the package openjdk-7-jdk. Install by running sudo apt-get install openjdk-7-jdk in a terminal.

Setting JAVA_HOME

After installing the JDK you need to set the JAVA_HOME environment variable. You can see all the installed JDKs on your machine by running update-java-alternatives -l, choose the one you want to use and copy the third field, this field is the JAVA_HOME for that JDK.

For example, on my machine

$ update-java-alternatives -l
java-1.7.0-openjdk-amd64 1071 /usr/lib/jvm/java-1.7.0-openjdk-amd64

This means I only have one JDK installed, java-1.7.0-openjdk-amd64, and its JAVA_HOME is /usr/lib/jvm/java-1.7.0-openjdk-amd64.

Next, set the JAVA_HOME environment variable, in Bash I would set it by running this from the terminal:

$ export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64

Check to make sure it was set correctly.

$ echo $JAVA_HOME
/usr/lib/jvm/java-1.7.0-openjdk-amd64

This will set JAVA_HOME for your current terminal session, to not have to worry about setting it again, you can add it to your ~/.bashrc file.

Running Oracle SQL Developer

Once the JDK is installed and the JAVA_HOME environment variable set, you can move into the sql developer directory and run the sqldeveloper.sh script.

$ cd sqldeveloper
$ ./sqldeveloper.sh

If sqldeveloper.sh is not executable run chmod +x sqldeveloper.sh and run the script again.

Checking all Java packages

For completeness, you can check what Java packages you have installed by running aptitude search openjdk-7. If you have the JRE installed you will se an i beside a package that begins with openjdk-7-jre

$ aptitude search openjdk-7
p   openjdk-7-dbg                                   - Java runtime based on OpenJDK (debugging symbols)        
p   openjdk-7-dbg:i386                              - Java runtime based on OpenJDK (debugging symbols)        
p   openjdk-7-demo                                  - Java runtime based on OpenJDK (demos and examples)       
p   openjdk-7-demo:i386                             - Java runtime based on OpenJDK (demos and examples)       
p   openjdk-7-doc                                   - OpenJDK Development Kit (JDK) documentation              
i   openjdk-7-jdk                                   - OpenJDK Development Kit (JDK)                            
p   openjdk-7-jdk:i386                              - OpenJDK Development Kit (JDK)                            
i   openjdk-7-jre                                   - OpenJDK Java runtime, using Hotspot JIT                  
p   openjdk-7-jre:i386                              - OpenJDK Java runtime, using Hotspot JIT                  
i   openjdk-7-jre-headless                          - OpenJDK Java runtime, using Hotspot JIT (headless)       
p   openjdk-7-jre-headless:i386                     - OpenJDK Java runtime, using Hotspot JIT (headless)       
i   openjdk-7-jre-lib                               - OpenJDK Java runtime (architecture independent libraries)
v   openjdk-7-jre-lib:i386                       -                                                          
p   openjdk-7-jre-zero                              - Alternative JVM for OpenJDK, using Zero/Shark            
p   openjdk-7-jre-zero:i386                         - Alternative JVM for OpenJDK, using Zero/Shark            
p   openjdk-7-source                                - OpenJDK Development Kit (JDK) source files               
p   uwsgi-plugin-jvm-openjdk-7                      - Java plugin for uWSGI (OpenJDK 7)                        
p   uwsgi-plugin-jvm-openjdk-7:i386                 - Java plugin for uWSGI (OpenJDK 7)                        
p   uwsgi-plugin-jwsgi-openjdk-7                    - JWSGI plugin for uWSGI (OpenJDK 7)                       
p   uwsgi-plugin-jwsgi-openjdk-7:i386               - JWSGI plugin for uWSGI (OpenJDK 7) 

I Agree with szabozoltan's answer but there should be some explanation required for this:

SetJavaHome /usr/lib/jvm/java-7-openjdk-amd64/

This one we need to keep in product.conf file. Inorder to open that file we need to type following command:

sudo gedit /home/abc/.sqldeveloper/4.0.0/product.conf

After this, type the following command.

./sqldeveloper.sh

That's it, your SQL Developer will be opened.


Just solved this by not adding slash as you did, so instead of

/usr/lib/jvm/java-7-openjdk-i386/

type

/usr/lib/jvm/java-7-openjdk-i386


For me it was similar error. I solved it simply by inserting

SetJavaHome /usr/lib/jvm/java-7-openjdk-amd64/

into ~/.sqldeveloper/4.0.0/product.conf file.