Oracle SQL Developer 4: Windows and the JDK

thatjeffsmith SQL Developer 103 Comments

Tell Others About This Story:

A few things have changed when it comes to running SQL Developer on a Windows machine. In previous versions, the first thing you’d see when running SQL Developer would be a prompt asking for the location of Java.

Tell SQL Developer where it can find Java

Tell SQL Developer where it can find Java

Turns out, it’s hard for Java applications to run without Java.

On Macs and Linux/Unix environments, we don’t prompt for the location of the JDK. The OS tells us where it is. So why not do this for Windows too?

Well, for version 4.0, we’ve taken care of this.

The .EXE in the top SQL Developer directory does a few things when you run it in version 4.0:

  1. Is this machine 32 or 64 bit OS?
  2. Is Java here?
  3. Write the location of the JDK to the .conf file for future executions

So as long as this EXE can answer these questions successfully, you won’t see the old prompt for the JDK anymore. If it can’t, then it will ask you for some help. This will make getting SQL Developer up and running that much easier for Windows users 🙂

Now, for all time eternal, SQL Developer would look (for Windows) in the sqldeveloper.conf file to see where the JDK is installed and also where you could configure how the JVM runs with the appropriate set parameter flags.

In version 4.0, we no longer look in SQLDeveloper.conf for these specific Java flags and settings.

To accommodate shared Windows machines, we now look into the roaming profiles directory in the Application Data folder. Specifically for SQL Developer, it’s here:

Where we put the java settings for SQL Developer in version 4.0 on Windows

Where we put the java settings for SQL Developer in version 4.0 on Windows

Basically speaking, if you have 3 people sharing a computer, each of them can have their own settings for how to run SQL Developer.

If you open this ‘very well documented’ file, you’ll see the all-important line near the top:

Where is the Java?

Where is the Java?

If you upgrade your Java installation, you’ll need to update this file with the new location or install folder name.

A couple more notes

  • The 4.0 Windows download packages will be:
    1. Windows 32 and 64 bit
    2. Windows with 64 bit JDK (Server JRE)
  • We recommend you run Java 7 with SQL Developer 4

The Server JRE is a subset of the full JDK – but has everything we need to run SQL Developer. We’re making the Windows with Java download setup for 64 bit now as that’s the standard configuration for machines these days. This also includes Oracle SQL Developer Data Modeler.

Tell Others About This Story:

Comments 103

  1. Hi Jeff,

    Briefly put, I’m trying to upgrade SqlDeveloper from 4.0.1 (which works) to 4.1.3, but can’t get 4.1.3 to launch.
    Like you, I’m crazy and have old installations kicking around.

    My config (Win 10 Pro 64) is:

    C:\sqldeveloper
    C:\sqldeveloper-4.1.1.19.59-no-jre
    C:\sqldeveloper4.1.3

    C:\Program Files\Java\jdk1.6.0_45
    C:\Program Files\Java\jdk1.7.0_07
    C:\Program Files\Java\jdk1.8.0_60
    C:\Program Files\Java\jdk1.8.0_65
    C:\Program Files\Java\jre1.8.0_60
    C:\Program Files\Java\jre1.8.0_65
    C:\Program Files\Java\jre7

    C:\ProgramData\Oracle\Java\javapath\java.exe (points to C:\Program Files\Java\jre1.8.0_65\bib\java.exe)

    C:\Users\j4john\AppData\Roaming\sqldeveloper\1.0.0.0.0\product.conf
    C:\Users\j4john\AppData\Roaming\sqldeveloper\4.1.1
    C:\Users\j4john\AppData\Roaming\sqldeveloper\4.1.3\product.conf (Directive: SetJavaHome C:\Program Files\Java\jdk1.8.0_65)

    Windows User Path variable: no reference to Java
    Windows System variable JAVA_HOME: C:\Program Files\Java\jdk1.8.0_65
    Windows System Path: …C:\Program Files\Java\jdk1.8.0_65;…%JAVA_HOME%\BIN;…

    What happens:

    C:\sqldeveloper4.1.3>where java
    returns
    C:\ProgramData\Oracle\Java\javapath\java.exe
    C:\Program Files\Java\jdk1.8.0_65\bin\java.exe

    C:\sqldeveloper4.1.3>echo %JAVA_HOME%
    returns
    C:\Program Files\Java\jdk1.8.0_65

    C:\sqldeveloper4.1.3>java -fullversion
    returns
    java full version “1.8.0_65-b17”

    C:\sqldeveloper4.1.3>java -version
    returns
    Error occurred during initialization of VM
    java/lang/NoClassDefFoundError: java/lang/Object

    C:\sqldeveloper4.1.3>sqldeveloper.exe
    returns nothing, the app doesn’t launch

    So, after a suggestion on http://stackoverflow.com/questions/11808829/jre-1-7-returns-java-lang-noclassdeffounderror-java-lang-object?rq=1 I renamed C:\ProgramData\Oracle\Java\javapath\java.exe to C:\ProgramData\Oracle\Java\javapath\java.exe.was

    What happens:

    C:\sqldeveloper4.1.3>where java
    returns
    C:\Program Files\Java\jdk1.8.0_65\bin\java.exe

    C:\sqldeveloper4.1.3>echo %JAVA_HOME%
    returns
    C:\Program Files\Java\jdk1.8.0_65

    C:\sqldeveloper4.1.3>java -fullversion
    returns
    java full version “1.8.0_65-b17”

    C:\sqldeveloper4.1.3>java -version
    returns
    java version “1.8.0_65”
    Java(TM) SE Runtime Environment (build 1.8.0_65-b17)
    Java HotSpot(TM) 64-Bit Server VM (build 25.65-b01, mixed mode)

    C:\sqldeveloper4.1.3>sqldeveloper.exe
    returns nothing, the app doesn’t launch

    Any guidance you could provide will be much appreciated.

    Cheers
    John

    1. thatjeffsmith Post
      Author

      replying from a plane at about 27,000 ft…but seems like your java install is borked? uninstall the 8’s and go get java 8 u101, then try to launch sqldev

      or get the 413 with the embedded jdk – it shouldn’t even look at your isntalled java homes

        1. thatjeffsmith Post
          Author
  2. I need some help, I’m dowloading sqldeveloper 4.1.3 with JDK 8 incluided, but I’ve seen posts that said I have to download the jdk also, and I’m a little confussed.
    My queston is do I have to download jdk or with just download this vertion of sqldveloper it’s enough ?

    1. thatjeffsmith Post
      Author
      1. thanks,I allready download this one but now I have an error when try to connect to the data base server from my laptop I found this message ORA-12705 (Cannot access NLS data files or invalid environment specified) I allready checked tha value for parameters NLS on the data base and are the same that my laptop, so I dont know what is te problem, if You can help me on that I really appreciate it.
        Thanks

        1. thatjeffsmith Post
          Author

          ok, well that has nothing to do with the java, if you didn’t have java setup, you’d never be able to run SQLDev, much less get to the point of a connection error. You need to check the Tools > Preferences > Database > NLS settings and make sure they’re correct

          NLS on the client describes YOUR machine, not the database’s by the way…

          1. Yes in fact I compare this configuration in the sqldeveloper against the database NLS parameters and,just the currency symbol its different in both sides

  3. RESOLVED installing most recent SQL Developer 4.1.3.20.78
    1. Do not use Edge browser, just to be safe. I used IE11 because was preloaded on my Surface Pro4.
    2. INSTALL Java JDK FIRST!!!!
    3. THEN, install the non JDK version (2nd link not the most recent one).
    of SQL Developer.
    4. Even though I have an x64 machine, the files saved to “Program Files” vs. “Program Files x64”.
    5. Extract and run! It finally worked.

  4. I am one of the many also having the same issue with the same file download. I happen to be attempting this on a Surface Pro 4. I have spent hours researching the same “solutions” as Vlad_K. I’m not savvy enough to actually make the changes (to size, etc.), however. I also attempted to download Java JDK and JRE 1.8.0_77 because I have 80hrs of SQL homework due and can’t start until I get Oracle running. I helped a friend download this to a windows 8 Assus laptop that was updated to windows 10 and all is fine there.

    If memory needs to be allocated, or files pointed elsewhere, I understand the file that needs to change but don’t know how to change it.

    Please help, this is killing us! Oracle, you’re so big and strong yet painful to use. 3/30/15 2:43am

    1. thatjeffsmith Post
      Author
      1. SAME EXACT ERROR: UNABLE TO LAUNCH JAVA VIRTUAL MACHINE when I click on ANY .exe file in the download, unextracted folder. And I get the same error in the cmd. I spent another few hours seeking solutions to all the things Vlad_K did below:

        1. I searched for “java” within the BIN file of the extracted file but that messy little note doesn’t reference java.

        3. ^ related to above, I did find “setjavahome” easily in the nice file in user/apps sqldeveloper.conf and deleted only the words after “setjavahome”, restarted but no fix.

        2. Java tells me I have the best installed version (even tho java version isn’t x64 under control panel/programs)
        http://www.wikihow.com/Increase-Java-Memory-in-Windows-7

        4. I also downloaded the offline version, downloaded using Edge (yes I know it won’t run java) AND IE.

        1. thatjeffsmith Post
          Author

          did you download the bigger zip from OTN – it INCLUDES the jdk

          you have to edit product.conf in the appdata directory if you want to point directly to your java home – the EXE should find it automatically though

          1. Yes, of course. Many times, many ways.

            sqldeveloper-4.1.3.20.78-x64 as the site instructs although it download section you should download JDK first but the file details on the main page contradicts that.

        2. I am running windows 10 (#2 was just nice and handy). Should I download Google chrome next?

          I also tried downloading the latest JDK 8u77 x64.exe just to see if it would help. It doesn’t.

          What does the virtual machine error mean? How can I fix it so I can run Oracle on my machine?

          1. thatjeffsmith Post
            Author

            i just emailed you a link to an online meeting, i’ll step you through this – check your spam box, it’s from [email protected] – or let me know your real email address if you used a fake one to post comments here

            i have 15 minutes i can give you right now

          2. Yes, it’s the first one on the SQL download page. And I’ve downloaded it many different ways, placing them in separate folders like “trial1”

            sqldeveloper-4.1.3.20.78-x64

            What java home are you referring to? There’s java under control panel/programs, in the sqldeveloper-4.1.3.20.78-x64 folders, in c://programs.

            I’m a product manager but highly un-techy… So if you direct me to uncomment out something, I’ll need some good instruction 🙂

  5. Need help with prompt from Oracle (11.2.0 XE) SQL Developer (v. 4.1.3, “Windows 64-bit with JDK 8 included”), unzipped into c:\Ora SQL Dev\ on Hyper-V Virtual Machine with Window 10 home as a guest system on a Win 10 Pro host.
    My attempts to start by double clicking on c:\Ora SQL Dev\sqldeveloper.exe return a Window msg box with: “Unable to launch the Java Virtual Machine Located at path: c:\Ora SQL Dev\jdk\jre\bin\server\jvm.dll” (file jvm.dll exists at the pointed location!)
    Running the c:\Ora SQL Dev\sqldeveloper\bin\sqldeveloper64.exe returns the same msg box plus a command (DOS) console with an “explanation” of the inability to launch the same file: “Error: Error loading c:\Ora SQL Dev\jdk\jre\bin\server\jvm.dll”

    I did not pre-install Java since I downloaded the 381 MB SQL Dev package “with JDK 8 included” (Despite its own Installation Notes saying: “This download does not include the JDK. This version requires a Java 8 JDK”, the package contains directory c:\Ora SQL Dev\jdk\ with subfolders jre and lib). I also read remark from another user with the same problem who unsuccessfully tried to solve it by preinstalling JDK and then installing the SQL Dev without JFK 8.
    My troubleshooting steps (all unsuccessful):
    1. Per multiple Internet advices, commented out with “#” the parameter “SetJavaHome ../../jdk” in C:\ Ora SQL Dev \sqldeveloper\bin\sqldeveloper.conf – same result (this file seems to be irrelevant now per Jeff’s explanations that I just found)
    2. Increased VM’s memory (RAM) allocation from 2 to 3 and even to 4 GB – same result
    3. Uncommented the parameter “SetJavaHome /path/jdk” in C:\Users\Vlad\AppData\Roaming\sqldeveloper\4.1.3\product.conf – same result
    4. Renamed that product.conf (which had all lines commented out), tried restarting again – same result, and the new file was created with all comments again.

    1. thatjeffsmith Post
      Author
  6. Hi There,
    These are my configurations.
    1 – sql developer that I am using “sqldeveloper-4.1.0.19.07-no-jre”.
    2 – JAVA_HOME set to jdk1.7.0_79
    3 – product.conf has the path of this java home, as described in the post.
    4 – Oracle 11g is installed successfully before these configurations.

    When I run sql developer, it tells me the minimum requirement is jdk 1.8, on one of my other machine, with same specs, it does not asks me anything. If you have anything that you would like to share will be highly appreciated.

    1. thatjeffsmith Post
      Author
      1. Thank you for the response but it is really amazing that these exact configurations are up and running on my other system. can you please confirm me the version that is compatible with jdk1.7.0.79

        1. thatjeffsmith Post
          Author
          1. Spot on, you are right. I copied the wrong zip file of sql developer(more recent one) from other machine, it is 4.0.3 on the it(sorry for being naive by saying it was running on other machine).
            Thank you for taking out time to reply on this post, really means to me a lot 🙂

          2. thatjeffsmith Post
            Author
  7. When I have a command like drop table Ctl-Click does not work while F4 does. Strange the line above I have a select from the table I need to drop and Ctl-Click works.

    Any idea ?

    thanks

    1. thatjeffsmith Post
      Author
  8. We are a community college using (and teaching) Oracle SQL Developer 4.1.0.19 on Windows 7 64-bit machines in our classrooms. The machines are in a Microsoft Active Directory environment and are “locked down” with a product called Deep Freeze. The users are not administrators and we are not using roaming profiles. Students log in to the computers and the college network with their individual (unique) accounts, and a new profile is created each time a different user logs in. My JDK is a virtualized app & is 64-bit.

    I need to configure the SQL Developer so that it points to and finds the Java JDK permanently, so that every user does not get the popup window that asks for the location of the JDK. I’ve seen references to a product.conf file, but this version of the SQL Developer does not have that file. I have attempted to modify the “product-user-config.template” file by adding “SetJavaHome C:\Program Files\Java\jdk1.8.0_45” but every new user still gets the popup. I’d also like to be able to kill the first run “Confirm Import Preferences” and “Oracle Usage Tracking” popups that each new user sees as well, but that’s less important than having to have everyone set up the Java environment.

    Please help! I need to get this fixed quickly – our fall classes begin on Monday August 31 and I need to complete my model and deploy an image to several hundred classroom computers by August 21. Thank you!!

    1. thatjeffsmith Post
      Author

      >>Students log in to the computers and the college network with their individual (unique) accounts, and a new profile is created each time a different user logs in.
      This is gonna make it hard, but not impossible.

      You need to setup a script that when it runs, it creates the files we use to store the settings in that tells SQLDev where the jdk is, that it’s on a current version, that you’ve already said yes or no to the prompts.

      Does that make sense?

      So do an install. Set it up the way you want. Then take those files and directory locations and use THAT to image your sqldev environment. It won’t be easy as the files will be all over the place and it will need to be dynamic such that your new student user ID is taken into account for when you lay those files down.

      1. Many thanks for the quick reply, Jeff! I think we can sort this out the way you suggest… believe it or not, we’ve just gone over to Active Directory after being on a Novell network for many years – a lot of other stuff has had to be scripted to make it work, especially since roaming profiles have not yet been discovered here – I shoulda thunk of that! Thx again.

        DK

  9. i even downloaded jdk8 bundeled with netbeans for windows 64 bit but it says its not compatible with my windows version. n am pretty sure my windows is 64 bit. what should i do???? please help!!

    1. yetti, try the 32-bit, that may do it if you have a 32-bit version of Windows.

      also, have you set up the Java environment variables? it may be that you need to create a java_home environment variable, put something about java in your path statement, and create another environment variable called classpath.

      I’m up to my ears just now so am unable to take the time to provide specific instructions on these, but if you need them, please post and I’ll try to put them here for you soon… also if you right-click Computer, click Properties, that page should tell you which edition and operating system type (32- or -64-bit) you have. Good luck!

      Doug

  10. guys please help me!!! i am kinda newbie to programming n i am starting my java classes so i wanted to install netbeans IDE. n i downloaded version 8.0.2 for my windows 7 but when i tried to install it, it said “JDK was not found on this computer” so i downloaded JDK 7 but when i tried to install the jdk, it said “windows can’t open this file” what should i do please help!!!!

    1. thatjeffsmith Post
      Author
  11. Regarding the post of Deniz Atak,
    If you change the locale to english INCLUDING the date and number format to US from Turkish, it works.

    This is a problem of java related with turkish language settings that should be taken care of in the sqldeveloper code.

    1. thatjeffsmith Post
      Author
  12. Hi,
    after downloading SQLDeveloper 4.0.3 for Windows 64bit including JDK (running Version 8.1 64bit on my machine) I can’t start the program. The error I’m getting is:
    Unable to launch the Java Virtual Machine
    Located at path:
    C:\Program Files\sqldeveloper\jdk\bin\msvcr100.dll

    I tried to delete the file located at the roaming … directory but this didn’t help either. The DLL is existing in the path specified and pointing to the location of the JDK directly in product.conf didn’t change anything either.

    What else could I try?

    Best regards,
    Jürgen

  13. Why does the product create “SQL Developer” and “sqldeveloper” directories, both under %USER%\AppData\Roaming?

    SQL Developer wouldn’t start for me; it showed “loading …” as a description for a progress bar in a splash screen, changed that description to something else and closed the window before I could read the change. I couldn’t find any log files or error messages.

    Finally, I just deleted the “SQL Developer” and “sqldeveloper” directories both. After running the application again, it started successfully for the first time. It recreated the two directories, which seems a bit sloppy — but at least I’ve actually got it running!

    1. thatjeffsmith Post
      Author

      The JDev framework, or FCP, writes to the sqldeveloper folder. It stores the JVM settings for all instances of SQL Developer v4 and higher – what JDK to use, how much memory to allocate, etc.

      SQL Developer user application settings are stored under the directory that we directly administer in the ‘SQL Developer” folder.

      Next time run sql developer from the bin directory in a cmd window and you can see any error messages that would cause sqldev to bork.

      1. Users, then, are expected to manage bot h the JDev framework and FCP (what’s that?) as well as SQL Developer?

        It didn’t matter if I started from a console window where sqldeveloper.exe was stored or if I used a shortcut icon I added to my desktop; I didn’t see any output or logging.

        1. thatjeffsmith Post
          Author

          90% of users never need to go into either directory. When something ‘bad’ happens, you may be advised to check those areas.

          Not sure what caused your issue. If deleting the sqldeveloper folder fixed it, it was probably that you upgraded your JDK and the location changed and SQL Dev couldn’t find it anymore. If it was deleting the SQL Developer folder, then it was a user settings file probably that got corrupted.

  14. Hi,

    I am running SQL Developer 4.0.3.16.48 on Windows 7 64-bit. When I start sqldeveloper.exe file, the application starts but there is something wrong with the menus, windows of the app. They are not displayed properly. Only some parts of the letters can be read. When I hover over the menus or windows, I can read what is written, otherwise I can’t.

    I thought the problem might be JDK, I manually set the JDK to point to the right location via product.conf file. But still no good.

    Do you have any reccommendation for this problem?

    Thanks in advance.

  15. For some reason I simply cannot get version 4.0.3 working on my windows 7 64-bit VM (having had it working in the past). I’ve tried pointing it at both a 64-bit and 32-bit version of the jdk (1.7.0_71) and it starts to load and then simply stops. If I run it from a DOS box running as administrator I get no feedback at all.

    I do have the 32-bit version of ODAC installed, but like I said, I have had the two working side by side in the past. However, I’m suspicious that that might be at the root of the problem. To install it I have done a simple unzip of the install file to c:\sqldeveloper. However, I’ve also failed to get it running using the full Oracle client install for 11gR2.

    Is there any logging anywhere that might help?

    I’m running 64-bit Windows 7 in a Virtualbox VM under Mac OS X.

    Many thanks,

    Terry

    1. Update to the above post: the problem only seems to be with 4.0.3. I have now successfully installed 4.0.2 with no problems.

      On watching it very closely, the point at which it fails seems to be when it starts registering extensions.

      Terry

  16. Hi Jeff
    Very informative article (as usual!)
    I have many, many Java versions installed on my PC – usually to satisfy the needs of other Oracle software being certified differently.
    I have been using JDK1.7.0.45 64bit with SQLDev 4.0.3 64bit for the past month. I have simply been ignoring the warning to upgrade JDK to 1.7.0.51 or later, but I have a niggling problem within SQL Developer which MOS cannot reproduce, so I am biting the bullet and upgrading to the latest JDK1.7 version for my PC, namely 1.7.0.71.
    All installed successfully and swimmingly well.
    Tried launching SQLDev and it still thinks I am on 1.7.0.45 (its still there, but so is 1.7.0.71).
    I took your advice and went looking in C:\Users\alawlor\AppData\Roaming\SQL Developer on my Win7 PC, but I cannot find any subfolder called 1.0.0.0.0 and a full search of the contents of my drive cannot find a file called product.conf?

    Am I thick or have I found an undocumented feature ?

    Thanks, Jeff

    Alan

    1. Jeff
      Scrap that – I am thick.

      I was looking in C:\Users\alawlor\AppData\Roaming\SQL Developer
      and should have been looking in C:\Users\alawlor\AppData\Roaming\sqldeveloper

      Still do not know why a windows file search did not find product.conf, though, but that is not an Oracle problem.

      Thanks
      Alan

  17. I am using windows server 2003 to run SQLDeveloper 4. My ORACLE DB 12c requires higher version of SQLDeveloper to connect. it is good that your article mentioned product.conf is involved. It is bad that this information is nowhere to find other than here.

    1. thatjeffsmith Post
      Author
  18. I’m having a hard time with SQL Developer 4.0.3 setting up the OCI configuration. The last obstacle is “Error loading the native OCI library”

    The native OCI driver could not be loaded. The system propertyjava.library.path contains the entries from the environment variable PATH. Check it to verify that
    the expected native library directory C:\oracle\product\11.2.0\client_1\bin is present and precedes any other client installations.
    java.library.path = C:\Program Files\Java\jdk1.7.0_67\jre\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\oracle\product\11.2.0\client_1\bin;C:\Users\sc58467\Oracle\product\12.1.0\client_1\bin;C:\oracle\instantclient_11_2;…

    The thing is, java.library.path is supposed to get its value from PATH, however my PATH = C:\oracle\product\11.2.0\client_1\bin;C:\Users\sc58467\Oracle\product\12.1.0\client_1\bin;C:\oracle\instantclient_11_2;…

    I can’t find a way to eliminate the references to “C:\Program Files\Java\jdk1.7.0_67\jre\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;” from java.library.path.

    Any idea how to proceed from here?

    Thanks,

    1. Hi Chuy,
      I had the same problem. Turns out I was using a 32-bit JDK, and a 64-bit native library on a 64-bit Windows OS. After upgrading to a 64-bit JDK and changing product.conf my OCI configuration passed.

  19. I need to create auto-deployment packages for both 32 and 64-bit. It looks like the 64-bit deployment will work since the jdk folder is included.
    Is there anyway to include the jdk folder for the 32bit so that I can setup an auto-extract file?

    1. thatjeffsmith Post
      Author
      1. Yeah I figured it out earlier- forgot to come back and update. Before having to install SQL Developer for people, I didn’t know what jdk, jre or this jse stuff was but I’m slowly learning!
        Thanks!

  20. Whatever happen to the standalone build that has the JDK/JRE bundled with it? No chance of having that back. Can’t get that portable bit trick working :(-

    1. thatjeffsmith Post
      Author
      1. Hi Jeff,

        Just want to check if I understand it correctly.

        Can I run the JDK Installer, then copy the whole directory that it installed to to where I unzip SQL Developer, un-install JDK and then run SQL Developer and tell it where I copy the JAVA directory to and it should all work alright?

        I believe from previous SQL Developer download, there is a with JRE and no JRE downloads. Now there is just the no JRE download 🙂

        1. thatjeffsmith Post
          Author
  21. after extracting the sqldeveloper-4.0.2.15.21-x64.zip into c:\sqldeveloper64bit folder and i run sqldeveloper.exe it will launch an unknown app with 4 menus named GoTo, Tools, View and Window which just displays there and the Java flash window is stuck. Looks like the exe wont be be able to create the sqldeveloper folder in the Roaming folder to populate the product.conf with the java path.

    help……

  22. You can ignore the last post. For some reason, when I extracted it, and then moved the files around, it must not have been done with the extraction process. I ended up with an incomplete installation. I reextracted everything to c:\sqldeveloper directly and it started up fine. Chalk this up to some kind of user error, though I can’t believe I would have done that.

    1. thatjeffsmith Post
      Author
      1. And not to mention, your article was spot on, and it worked flawlessly. I might have to think about putting TOAD aside. (did I say that?)

        1. thatjeffsmith Post
          Author
  23. After extracting the 4.0.2 version from OTN download (the one without the jdk), I tried to run the sqldeveloper.exe from the root, and nothing happens. I drop to DOS, run it, nothing happens. It was extracted to C:\sqldeveloper.

    The JDK (full) I have installed is 1.7.0_51. This is running under Windows 7 Pro SP1. I have a java_home defined, a jre_home defined, and java.exe is located in the path at C:\java7\bin.

    i was prompted to look at it based on the May/June issue of OTN for this year based on your article.

    Thanks for any hints, tips, etc.

    1. thatjeffsmith Post
      Author
  24. This with the roaming profile is OK. However, I chose a 1.6 JDK by mistake and the exe kept on presenting a dialog, that I should change the conf in sqldeveloper/bin/sqldeveloper.conf. Frustrating when it doesn’t work …

    1. thatjeffsmith Post
      Author
  25. When I start SQL Developer, I see one more sqlseveloper blank console opening along with editable Oracle SQL Developer. I don’t understand why do I see 2 windows. If I close any of these two windows, the other gets closed. (No messages/logs/errors in the blank, black console window).

    Is there any setting to be changed to not display that other blank window?

    1. thatjeffsmith Post
      Author
  26. I installed SQL Developer 4.02 and it is telling me that I am using java 1.70_25 when in reality I am using 1.70_55. I modified the sqldeveloper.conf to set the java home pointing to C:\Program Files\Java\jdk1.7.0_55 but I still get the warning message every time I start SQL Developer.
    Where else should I change the java home?

    Thanks

    1. thatjeffsmith Post
      Author
      1. To add on to what Aldo was reporting, I got the same message, but the prompt was incorrect – telling me I needed to change “C:\dev\sqldeveloper4\sqldeveloper\bin\sqldeveloper.conf” (my installation folder) when in fact I needed to change “C:\Users\Kris\AppData\Roaming\sqldeveloper\1.0.0.0.0\product.conf”. Actually, I just deleted the latter file and sql developer recreated it.

        1. thatjeffsmith Post
          Author
  27. In prior version you could simply put SQL Developer on a USB stick and use it everywhere with your own settings.
    You only had to change AddVMOption -Dide.user.dir=? to the letter where Windows mouted it.

    With the new version you cannot do this, you have to start up at least once, then shut down and edit product.conf. And you are lucky if you don’t have to work on a restricted workplace where you are not allowed to change the Explorer settings so you cannot see the AppData folder.

    It should be an option to store the data in the user profile but not as default.

  28. This article helped me figure out why Data Modeler was utterly ignoring my environment configuration and its own supposed settings file, and I just wanted to say thanks.

    I have JDK 6 and 7 installed on my machine, and got the popup message requesting the JDK location. I pointed it to JDK 6 and got a subsequent popup stating that 6 is unsupported and that 7 is the minimum supported version. It told me I could continue as-is or update datamodeler\bin\datamodeler.conf and update the SetJavaHome property to point to a supported JDK.

    I updated the property to point to JDK 7, using both absolute and relative paths, and Data Modeler ignored it and continued to pop up a warning about using JDK 6. I verified my JAVA_HOME was set to JDK 7 and verified my PATH was pointing to JDK 7 by testing ‘java -version’ and ‘javac -version’ and they all reported 7 was in use, and STILL Data Modeler ignored all settings.

    At this point I realized it must have written the JDK location to a file somewhere. I reinstalled Data Modeler – still got the stupid popup.

    Then I found this post, and saw I had a directory for Data Modeler under “%USERPROFILE%\Application Data” (this is the path for XP, anyway), and deleted it. Launched Data Modeler again, and got the JDK prompt. I pointed it to JDK 7, and it was happy.

    Thanks for saving my sanity.

    1. thatjeffsmith Post
      Author

      That message definitely needs updated to accurately reflect the location of the configuration for the JVM. Sorry it took you so long. Please don’t forget the release notes, help, forums, and of course MOS for next time you get stuck – and of course always feel free to reach out directly to me and I’ll do what I can.

  29. Is there a way to change the default of “AddVMOption -Xmx800m” in product.conf when it is generated for the first time?

    We have a shared windows machine with a large number of users and want the ability for the initial value to be much lower to control memory usage on the server. User then can increase if they run into specific issues.

    1. thatjeffsmith Post
      Author

      You can use the launcher.sh script to make these changes, and you should also disable as many extensions as possible in Tools > Features to lower the memory footprint.

      The better answer: get enough memory on the server to make the application and the users happy – memory is cheap. People are not.

      1. Hi Jeff,

        the hint for changing launcher.sh only works for Linux/Unix.

        For Windows, we had to “edit” the files launcher.dll and launcher64.dll, where the default values are hard coded in it.

        Why are such initial values not available in an own configuration file, which can be normally edited?

        1. thatjeffsmith Post
          Author
  30. Actually, MacOSX can prompt you for the JDK home

    $ cd /Applications/SQLDeveloper.app/Contents/Resources/sqldeveloper

    $ bash ./sqldeveloper.sh

    Oracle SQL Developer
    Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.

    Type the full pathname of a JDK installation (or Ctrl-C to quit), the path will be stored in /Users/yourname/.sqldeveloper/4.0.0/product.conf

    I entered

    /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home

    to work around problems when upgrading to jdk1.7.0_51

  31. Took a while to discover this magic as I managed to click yes on the location for the 1.6 jdk. Then every time I started sqldeveloper it said that I had the wrong version of java installed and told me to change these preferences in the sqldeveloper.conf file…

    Please update the error message to point to the correct location in the roaming profile.

    Installed version (4.0.0.13 Build MAIN_13.80)

    1. thatjeffsmith Post
      Author

      It should be documented, and my blog is not the right place for that. I’ll see what I can do to make this more clear going forward. Sorry for poor experience Magnus, and thanks for bringing it to my attention.

    1. thatjeffsmith Post
      Author
  32. Despite changing location in sqldeveloper.conf, I cannot run easily sqldeveloper 64bit (on Windows 7 x64), I can always start it using directly sqldeveloperW.exe in the sqldeveloper/sqldeveloper/bin directory. When I succeed (sometimes) to apparently lauch the 64 bit version, the help.about windows shows always the 32bit version of java and jdk in java.home, changing the conf file doesn’t change anything. any idea?

    1. thatjeffsmith Post
      Author

      Do you mean the product.conf – we don’t read sqldeveloper.conf for the JVM settings anymore, including the location of the JDK.

      What do you see if you run sqldeveloper64.exe? You should get a command window console opening that would show any fatal errors.

      1. Sorry I wasn’t in the right directory for the product.conf file, evrything is fine now.
        sorry to disturb you, thanks you

  33. Would it be possible to change the JDK path from GUI preferences, or the only way is to modify the .conf file? Also, did something change about SQLDeveloper.conf for linux installations, or SQLDev still looks there?

  34. Maybe a little suggestion – the JDK directory will often change for people which follow the jdk_ jdk directory naming pattern. I would like SQL Developer to display that jdk location prompt if it is unable to locate the jdk in directory specified in product.conf and update it after user will point to new directory.

    1. thatjeffsmith Post
      Author

      Probably not a bad idea.

      However, most people don’t update their java installs that frequently. That being said, we should make the tool smarter about what to do if it the location changes.

  35. Very timely article, as I just installed SQLDeveloper 4.0 and accidentally chose the 32 bit version of the JDK when prompted. I was looking everywhere in the sqldeveloper.conf file but low and behold the java_home parameter was missing. Now I can modify the product.conf file and point to the 64 bit JDK instead.

    1. thatjeffsmith Post
      Author
      1. Most of our analysts don’t use the Debugger, and we’d love it if SQL Developer could run on the JRE. It would save the headache of getting everyone repointed to the new JDK folder when Java updates itself (at least until Java moves to 1.8). Is the Debugger too integrated for a setting that would allow that?

        1. thatjeffsmith Post
          Author

          How is your JDK updating itself?

          You can run SQL Developer 4.0 and higher with a Server JRE if you’d like. And yes, we’d have to refactor the tool to not have the debugger, so not a trivial change. It’s easier to just let folks grab the SQL Developer with the embedded JDKs and be done with it.

Leave a Reply

Your email address will not be published. Required fields are marked *