Which version of Java do we use?

Currently, there exists no agreement on which Java version projects should use.

Possible Solutions

  • Java 8

  • Java 11

  • Java 17

  • Non-LTS version

Chosen Solution

  • Java 17

Pro Java 17

  • Has the most features

  • Has the longest support

  • Tooling has (hopefully) been adapted to support Java 17

Contra Java 17

  • Potentially breaks some tools relying on reflection

Pro Java 11

  • No tooling problems

Contra Java 8

  • EOL

Pro non-LTS version

  • Has preview features

Contra non-LTS version

  • no LTS

  • features might be thrown out again