SQL Developer – Cannot find a Java SE SDK installed at path


Back in 2011, 5 years ago now, I posted about an error message I was experiencing.

The error message reads “Oracle – 11G – Client – SQL Developer (64-bit) – Error – WARNING: Could not find jvm.cfg!”. And, it is available here.


Last Week

In the last week I have received a couple of comments around that post and the comments were a nice “It does not work“.

As busy with other stuff could not really quite get to it, but had a bit of down time today.  And, so here we go.



Downloaded the latest version of SQL Developer from http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html/

The version # is …

SQL Developer 4.1.3
Version, Updated December 22, 2015

Available Media

Our OS is a 64-bit Windows, specifically MS Windows 7 x64.



Downloaded Media


  1. No-JRE
  2. x64

As we have a 64-bit OS, the easiest and best file is Window 64-bit win JDK 8 included.

But, to make things interesting and address the specific error we chose the Windows 32/64-bit.


Extracted the compressed file.

Packages Comparison

Once we extracted the compressed files, we ran a folder comparison tool against the extracted folders.



Results of Comparison

From comparing the folder, we see that the version that has JDK bundled has a JDK folder.

Presumably under the JDK folder, we have the JDK files.


Bundled Install


File Relative Path

How is the bundled install handled in terms of the in-built Java JDK?

Traditionally the location where the Java JDK should be found is designated in the sqldeveloper.conf file.

From the base home of SQL Developer, the relative path is sqldeveloper\sqldeveloper\bin.




We can set that SetJavaHome is set to ../../jdk


Where is ../../jdk?



StandAlone Install

Download and install Java JDK

Available Media

Download JDK from here.

For sake of comparison we chose to download both the 32 and 64 bit files for Windows.



  1. 64-bit
    • jdk-8u102-windows-x64.exe
  2. 32-bit
    • jdk-8u102-windows-i586.exe


We installed unto a drive other than our system drive.


Here are a steps of trials we undertook to answer the question ( Please Specify the Path to the Java JDK home )


  1. Trial 1
    • JRE – 32 bit
      • D:\Program files (x86)\Java\jre1.8.0_120
      • Errors
        • Cannot find jre\bin\java.exe
  2. Trial 2
    • JDK – 64 bit
      • D:\Program Files\Java\jdk1.8.0_102
      • Errors
        • Cannot find lib\tools.jar
  3. Trial 3
    • JDK – 32 bit
      • D:\Program Files (x86)\Java\jdk1.8.0_102\
    • Errors
      • ( None )

Trial 1- D:\Program Files (x86)\Java\jre1.8.0_102

Please Specify the Path to the Java JDK home


Path Entered – Java JRE  ( D:\Program Files (x86)\Java\jre1.8.0_102 )



Error – Cannot find a Java SE SDK installed at path : <HOME> – D:\Program Files (x86)\Java\jre1.8.0_102





When we capture via SysInternals, we will see that SD searched for D:\Program Files (x86)\Java\jre1.8.0_102\jre\bin\java.exe.

And, so from D:\Program Files (x86)\Java\jre1.8.0_102 we get D:\Program Files (x86)\Java\jre1.8.0_102\jre\bin\java.exe

Not a logic god, but it seems that SD adds the jre\bin and looks for java.exe (  relative file name jre\bin\java.exe)


Trial 2 – 64 Bit – Java JDK ( D:\Program Files\Java\jdk1.8.0_102 )

Specify Path


Error Message – Cannot find a Java SE SDK installed at path





Checked D:\Program Files\Java\jdk1.8.0_102\lib


…. but no tools.jar



Trial 3 – 32 Bit – Java JDK ( D:\Program Files (x86)\Java\jdk1.8.0_102 )

Specify The Path



Splash Screen






Configuration is saved in C:\Users\<user>\AppData\Roaming\sqldeveloper\<version>

For me, C:\Users\daniel.adeniji\AppData\Roaming\sqldeveloper\4.1.3

Explorer View


File Contents



One is able to go and edit the product.conf file.

Part of the customization is to set the JavaHome.


JDK Versioning

It is foundationally good to determine the bitness of Java JDK you have installed.

Internet Help

Took to the Net to find out that best way to determine the bitness of the JDK we have installed.

Best and most accessible help came from Coderwall and it is available here.

Commands Syntax

The available options are:

  1. java -version
  2. java -d64 version

java -version


java -version

java -d64 version

What is -d64 ?




java -d64 version

Results Matrix

Product Version File Version
 JRE Bundled (x64)
java -version  java version “1.8.0_60”
Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)
 java -d64 version  java version “1.8.0_60”
Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)
64-bit JDK installed separately
 java -version  java version “1.8.0_102”
Java(TM) SE Runtime Environment (build 1.8.0_102-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.102-b14, mixed mode)
 java -d64 version  java version “1.8.0_102”
Java(TM) SE Runtime Environment (build 1.8.0_102-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.102-b14, mixed mode)
32-bit JDK installed separately
  java -version java version “1.8.0_102”
Java(TM) SE Runtime Environment (build 1.8.0_102-b14)
Java HotSpot(TM) Client VM (build 25.102-b14, mixed mode)
 Error: This Java instance does not support a 64-bit JVM.
Please install the desired version.




SysInternals – Process Monitor

Launched SysInternal’s Process Monitor.

And, filtered for:

  1. Process name is sqldeveloper.exe




SysInternal’s Process Monitor is very helpful to trace application errors.

Back in 2014, Jiji Sasidharan posted that Oracle changed the folder where configuration for SQL Developer is saved.

This change is effectual with SQL Developer v4+.

Again, it is likely more expedient to go with the version, “Windows 64 bit with JDK included”.

Please do not overlook the fact that your machine and OS has to be 64-bit.

For those lagging with computer or OS, please continue to choose the separate bundles.



SQL Developer – Configuration

  1. Oracle SQL Developer – How to change Java SDK?

Application Data

  1. Accessing “Application Data” in Windows 7


Database – Modeling – Oracle SQL Developer Data Modeler (v 3.3)


In the thick of converting from a legacy database to a new system and thank goodness the legacy system has well defined relationship mappings (Primary Key and Foreign Keys).

And, this will help my familiarization.

It always helps to look at a diagram and make sure that my relationships are maintained in the new DB.

Potential Problem

The in-built tool that comes with SQL Server Management Studio is just not cutting it for me.   There some important pieces missing.  And, so looked on the .Net for free Data Modeling tools.

Oracle SQL Developer Data Modeler

Kent Graziano talked a good game about “Oracle SQL Developer Data Modeler” in his web post (http://kentgraziano.com/2012/02/20/the-best-free-data-modeling-tool-ever/)  and so I think I will give it a good look).

Download – Oracle SQL Developer Data Modeler

Downloaded the v3.3 tool from http://www.oracle.com/technetwork/developer-tools/datamodeler/data-modeler-releasenotes33-1869517.html

Download – Microsoft JDBC Driver

Downloaded the latest Microsoft JDBC Driver (v 4.0 ) from http://www.microsoft.com/en-us/download/confirmation.aspx?id=11774.

Extract – Oracle SQL Developer Data Modeler

Extract the compressed file.


Extract – Extract Microsoft JDBC Driver

Extract Microsoft JDBC Driver.  The files we really want are the jar files named sqljdbc.jar and sqljdbc4.jar and they are in the sqljdbc_4.0\enu folder.

Copy Extracted Microsoft JDBC Jar files to Tools (jdbc\lib) folder

Copy the extracted jar files from \sqljdbc_4.0\enu to the tool’s jdbc-lib path (jdbc\lib)

Aware Oracle SQL Developer of location of MS SQL Server JDBC Jar files

  • In SQL Developer, access the menu Item Tools/Preferences/
  • Access Data Modeler/Third Party JDBC Drivers
  • Depending on the version of Java JRE bin, indicate SQL Server Jar file.  If you chose to the download SQL Developer with the bundled JRE, then please choose sqljdbc4.jar

Reverse Engineer

To reverse engineer an existing database, please do the following:

  1. On the main menu, select File\Import\Data Dictionary
  2. On the “Connect to Database” Tab, click the “Add” button
  3. Enter Database specific connection detail
    1. Connection Name: Any name you  like
    2. Username: Database user name
    3. Password: Database User Password
    4. For anything other than Oracle, please select the JDBC Tab
    5. JDBC URL :- jdbc:sqlserver://<hostname>:<portNumber>;database=database
    6. Driver Class :- com.microsoft.sqlserver.jdbc.SQLServerDriver
    7. From the Database Type drop-down, select the Database Type


  1. Verify your connection data, by pressing on the Test button
  2. Click Save once verified
  3. Ensure that the right Connection Item is selected and click on the Next button
  4. On the “Select Schema/Database”, select the Database NameSelectSchemaAndDatabase
  5. On the “Select Objects to Import” screen, please select the objects you want


  1. On the “Generate Design” screen, please review the summary per how many objects will be imported
  2. Click the Finish button to generate your model


Here is sample model from the ASP.Net Membership Database.

Sample - ASP.Net Membership Model


A quick round-up of possible errors:

Error – Status : Failure -Test failed: Java Runtime Environment (JRE) version 1.6 is not supported by this driver. Use the sqljdbc4.jar class library, which provides support for JDBC 4.0.

Get Java JRE Version#

Using GUI

The relative path to the bundled JRE is datamodeler\jdk\jre\bin and the file’s name is java.exe.

Get the file’s property by right clicking on the file in Windows Explorer.

Java Version (GUI)

Using OS Cmd Line

java -version


java version "1.6.0_35"
Java(TM) SE Runtime Environment (build 1.6.0_35-b10)
Java HotSpot(TM) Client VM (build 20.10-b01, mixed mode)

Adjust Third Party JDBC Drivers

  • Access Menu Item Tools/Preferences/
  • Access Data Modeler/Third Party JDBC Drivers


DataModeler-ThirdPartyJDBCDrivers (incorrect)


DataModeler-ThirdPartyJDBCDrivers (correct)

Error – Status : Failure -Test failed: Driver class not found.  Verify the Driver Location


Please ensure that you have entered the Driver Class exactly as “com.microsoft.sqlserver.jdbc.SQLServerDriver”.  I had an extra space before the Driver Class (on the screen dump above).