Once Java 16 is generally available, we should document our support for it.

Known limitations:

  • Gradle does not yet support Java 16. Gradle projects that wish to use Java 16 should use Gradle's toolchain support to do so.
  • Spring LDAP 2.3.3 and earlier requires --add-exports=java.naming/com.sun.jndi.ldap=ALL-UNNAMED
  • The CLI in 2.4.x does not work on Java 16 due to its use of Groovy 2.5.x. Boot 2.5.x is unaffected as it uses Groovy 3.0.x.
  • Some components which Boot can auto-configure, such as Hazelcast, require --illegal-access=warn.

Comment From: dreis2211

I'd like to add that Hazelcast for example is not really working without allowing the reflective access. We should probably document that --illegal-access=warn might be needed here and there (not necessarily only for Hazelcast, though)

Comment From: snicoll

I've also updated the wiki page on that subject.