- You wanted to update the JVM which CF uses to use a new version
- so you found some resource on the web showing how to update, and it seemed simple enough
- and then you tried restarting CF and wham, it won't start
- and now you're stuck wondering, "what happened? and how am I supposed to fix this?"
It's a tragic position to be in, of course.
There are several reasons why your attempt to update CF's JVM can fail.
And fortunately I can offer several things you can consider/look at, some of which may quickly recover from or be able to undo (depends on what you did). And all this applies to Lucee, Railo, and BlueDragon as well, though folder locations will differ.
In brief, here are the things you may have done wrong. See below for solutions or recommendations:
- You may have told the Java installer to install itself WITHIN the CF directory. You should not do that.
- You may have gotten the wrong kind of Java installer
- You may have gotten the wrong bit-level of Java for your bit-level of CF
- You may have gotten the wrong JVM for your OS
- You may have tried to use a JVM not supported by the version of CF you're running
- You may have pointed CF to the wrong JVM location
- You may have updated the JVM config for the cfusion instance, but not your other instances
- You may have forgotten to change the path's directory separator slashes on Windows
- You may have to copy the msvcr100.dll from the JVM's lib to CF's when updating older CF's to Java 7+
- You may have to copy the tools.jar from the JVM's lib to CF's when updating older CF's to Java 8+ (and delete some files compiled for the old JVM)
- You may find that Solr integration (and/or PDFG in CF11+) stops working, because you didn't realize you needed to edit *its* jvm config file
While I'm at it, I also cover:
- Why you'll find that CF can't even STOP (let alone START) if you make a mistake with the JVM configuration
- What JVM version(s) are supported by what versions of CF
- Dealing with SSL Certificates you may have imported into a previous JVM
- Beware leaving the Java installer to choose the "public jre" option
So this really became quite a compendium of resources on changing the JVM CF uses, but again the focus is on why CF may not start if you make certain very common mistakes.