Upgrade to Java 17
[The following is from #176 (closed), from which this issue is split off]
Eclipse 2021-12 natively support Java 17 (for Eclipse 2021-09 you have to install the support separately). Benefits of Java 17:
- It is the new/current LTS version of Java, after Java 11 that we currently use.
- There are various nice new language features, such as multi-line string blocks, enhanced switch statements, instanceof pattern matching, etc, for which I see many uses in our code base. As part of this issue I don't propose to migrate the existing code to use the new features, but only to do the version migrations.
- Probably going from Java 11 to Java 17 will also give us 3 years of performance improvements.
- JustJ 11 doesn't include the JDK sources, making debugging a bit more difficult in certain cases. JustJ 15 and higher include the JDK sources.
- JustJ 17 should support macOS notarization. Enable that.
See https://www.eclipse.org/lists/cross-project-issues-dev/msg18680.html for JustJ announcement regarding JustJ and Eclipse Adoptium (successor of AdoptOpenJDK). We may expect service releases of Java 17 to become available via JustJ, rather than just a single 17.x.x version. Already for Java 11 now 11.0.12 is available as a JustJ pre-release.
We should see what is a good moment to go to Java 17. For the product we can just include Java 17. But there are other users (myself included in my day job) that use e.g. CIF as a set of plugins and thus build against CIF and would thus need to switch to Java 17 as well. Not all companies adopt Java versions as quickly. I propose to delay Java 17 adoption a bit.