With 7,000,000 users, give or take a million, I get quite a few notes from folks who are having problems getting SQL Developer to open, or to STAY open.
These problems fall into 1 of two buckets:
- the application can’t find Java
- Java is crashing and the application ‘goes away’
Let’s tackle point 1, first.
1. The application can’t find Java
This is generally best described as the ‘bouncing icon’ in your taskbar, as SQL Developer tries to start for a second or two, and then gives up.
This isn’t a crash or application failure.
TL;DR – run this and make sure you get an Oracle 8 or 11 JDK back (or 17, but we’ll talk about that later).
TL;DR – Just download the archive that INCLUDES the JDK, and you should be find.
My Mac is just being a pain
2. No, the app is actually crashing
Ok, here’s what we need to know, what version is everything?
- If a Mac, is it a new, shiny M1?
- SQL Developer
I need to know those things, and if you don’t tell me upfront, I’m just going to ask.
If the answers you come back with are ‘SQL Developer 17.2’ or ‘Java 8 update 201’ – I’m going to ask you politely to upgrade to software from 2021 or even 2022 and try again.
If you have that information, and nothing sounds ‘weird’, I’ll ask the following:
What happens if you start SQL Developer from the console/terminal?
Java is pretty chatty/noisy, especially when errors pop up. Sometimes when it crashes it’s fairly nice about it and tells you why. This was somewhat common about 5 years ago – a Windows video driver was notorious for crashing Java. And you could see this in the stack dump and then know to go update that driver.
So here’s what I mean.
Start – Run – CMD
CD to where you have SQL Developer unzipped. Go down into the ‘bin’ folder. Run the EXE. When the application crashes, look for error messages – like where the green area I highlight below.
On a Mac:
Same difference, open a terminal, cd INTO the app, then go into the bin folder, and launch via sqldeveloper.sh.
What do you see then?
In the above example I’m being ‘bad’ on purpose by running a really old Java 8 Home. But, SQLDev still launched and ran OK. I should STILL really, really update that though.
M1 ARM Macs running Monterrey
This is probably the people I’m hearing from the most. The Java we have for this hardware is limited to Java 17, and Java 17 isn’t technically supported by SQL Developer, yet.
The bigger problem is that Java FX Jars aren’t included with 17 JDKs, but you CAN download those separately and add them to the lib folder.
What you MAY want to look into is the GraalVM (GraalVM CE 21.3.0) that takes the place of a Java 11 JDK. That seems to be the least path of resistance currently.
I’d write one myself, but my 2018 MacMini is running the ‘old’ hardware like a champ, and I have no plans on replacing it anytime soon.
The ARM chip architecture will become more and more commonplace and the softwares around it will adapt, but I fear for a little while early adapters might be forced to pay the tax. At least in this case, you have two options that both work well.
I NEED MORE HELP
You can visit the forums! There’s a nice thread here for example with the M1 crowd. Or, if your company or org has a support contract in place for at least one copy of the Oracle Database, you can open a Service Request with My Oracle Support.
Or you’ll just leave a comment here – just make sure you answer those questions above from the get-go!