New feature, improvement proposal
Using maven-compiler-plugin:3.11.0 with the compile goal, empty Java source files are always detected as stale. This triggers unnecessary recompilation because the plugin treats these files as changed even when they are not.
In my case, the issue was caused by an accidental empty .java file. Removing the file resolved the problem, but the plugin should ideally ignore empty sources instead of marking them as stale.