- Updated to Spring Framework 6.0.0-M3
- Updated to Jetty 11
- Updated to Hibernate 6.0
- Updated to Thymeleaf 3.1.0-M3
- Updated compiler settings to Java 17
The site is now running with a Java module-path rather than a class-path, with no additional "--add-opens" clauses required under Java 18.
This took far longer than expected (four years), and still required bleeding-edge versions of several dependencies to work. I even needed to patch around a bug in Thymeleaf that only occurs when running on the module path.
A couple of lessons learned from this:
- Migrating to newer Java releases is getting easier all the time.
- Migrating to modules is harder, as libraries are often not tested with the module path.
- The module system really needs a wildcard package export syntax. I import a lot of resources (web content) and having to explicitly open every sub-package is a huge pain.