So I learned through the latest JetBrains’ Java Annotated Monthly that Maven 4 has fixed (they label it as an improvement) a long standing PITA gripe of mine regarding it’s treatment of timestamps in Multi-Module builds (MMB).
The Problem
Traditionally the timestamp emitted by maven was different per-module in a single build. This meant that if you used the timestamp in your (static) resource file name (see Resources section of the Servlet Specification) as a neat, alternate way of avoiding cache-busting then you would see intermittent issues of resource loading due to timestamp divergence for longer builds where it could change across the relevant related modules of your MMB. The result? No resources loaded at all and a very anaemic looking app at the very least.
The Solution
So finally, the good folks at the Apache SF have now fixed this through fixing a build timestamp for all modules included in the same build. although of course, it still doesn’t mean that you can build just the resources-holding module: you must continue to perform a full build of all your modules that include the static resources being repackaged but, at least now, you know you’re running with resources that can be found!