

These versions will remain supported (by Oracle, and likely by the rest of the ecosystem, including Scala) for longer than the versions in between. (For this reason, some Scala developers use JDK 11 or 17 for their daily work but do release builds on JDK 8.) Long Term Support (LTS) versionsĪfter Java 8, Oracle introduced the concept of LTS versions of the JDK. If you compile on JDK 11+ but want to allow your users to stay on 8, additional care is needed to avoid using APIs and features that don’t exist in 8. JDK 8 remains in use at many shops (as of early 2022), but usage is declining and some projects are dropping support.

Since the JVM is normally backwards compatible, it is usually safe to use a newer JVM for running your code than the one it was compiled on, especially if you are not using JVM features designated “experimental” or “unsafe”. JDK 8, 11, and 17 are all reasonable choices both for compiling and running Scala code. The linked page includes contact information for inquiring about supported and recommended versions. Lightbend offers commercial support for Scala 2. In general, Scala works on JDK 11+, including GraalVM, but it probably won’t take special advantage of features that were added after JDK 8. (But Scala 2.12+ definitely doesn’t work at all on JDK 6 or 7.) Version compatibility table JDK versionĮven when a version combination isn’t listed as supported, most features may still work.
Do i need java 8 or java 10 update#
Sometimes new JVM and JDK (Java Development Kit) versions require us to update Scala to remain compatible. (Other supported platforms: Scala.js, Scala Native.)

Scala’s primary platform is the Java Virtual Machine (JVM).
