I share here a table to try to make things clear.
[Posted originally in Jan 2021, with the following updates: Sep 2023: added Java 21. Jul 2023: added CF2023 and confirmed state of 2021 and 2018. Aug 2022: minor refinements. Mar 2022: removed references to Java 12/13 and added mention of Java 17. Mar 2021: added a link to info on what JVM versions are supported, as well as how to find what JVM version you are currently running and where to get Java installers from Adobe.]
You may wonder which version(s) of Java you can use with your current version of ColdFusion, or one you plan to use. It depends on first on what version of CF you are using, and then on what CF update has been applied to that CF version.
In this post, I offer a table that clarifies things, listing the various recent CF versions (even those no longer supported) and what (LTS) Java versions they supported, based perhaps on what CF update had been applied.
The info below is current as of the date of the
release update of this post, Jan 2021 Sep 2023. I plan to keep it updated as information changes.
FWIW, I originally offered this information within a longer 2019 post about new Java updates released then (in Apr 2019), but I’ve pulled this table to stand on its own. Find your cf version below, and see what Java version(s) it may support:
|Java 21||Java 17||Java 11||Java 8||Java 7||Java 6|
|CF2021||Not yet||Not yet||Yes||NO||NO||NO|
(if CF2018 update 2
or later. Supported
Java 10 initially)
(if CF2016 update 8
(if CF11 update 3
(if CF10 update 14
(if CF10 update 8
Again, I will update this post as things change over time.
(As for Java 12, which came out in Mar 2019, note that while CF2016 and 2018 came out with an update that year to support it, that version was only updated until Sep 2019, so it would no longer be appropriate to consider running Java 12 with any CF version. The same is true of other Java versions that had short lives, Java 9, 10, 13-16, 18-20. Since the release of Java 8, only the releases above have been considered LTS or “long-term support” releases, and Adobe supports only those–and formally only Oracle Java.)
As for downloading the latest Java installer or archives, see the Adobe CF “downloads” page (which is not for downloading CF, but things related to CF), and specifically the list of Oracle Java installation files that current CF versions support.
How do I know what JVM version I am currently running?
I mentioned already that I have done a past post (and plan future posts) with more details, but this topic is worth pulling out here: naturally you may wonder, “well, what JVM version am I running now?” There are at least two ways.
The easiest may be to go into your CF Admin, and view either the Settings>Settings Summary page or the “System Information” page (the “i” icon in the top right of the admin). On those pages, about 10-20 lines from the top is a section on JVM details, and it will report what JVM version you are currently using.
If you don’t have access to the CF Admin, I have a post on how you can also determine CF’s Java version from within CFML code.
Finally, if you’re still running CF9…
Actually, if you are running anything less than CF2021 in 2023, you should know that you are running on a CF version that is no longer updated by Adobe (Cf2018 updates ended in Jul 2023).
But as I noted in the table above, as for CF9 and when Java 7 support was added, again see the original post I link to above and below.
Finally, if you may have still other questions related to CF and Java versions (such as about Adobe’s licensing of Oracle Java for us, or how Adobe does NOT support JVMs other than those from Oracle, and more), see the previous post where I first shared that info, and the table, and more. While it was about the specific Java update in 2019, what I shared applies generally to all Java versions.
I welcome comments and feedback.