Maven is possibly one of the worst build systems I've used. It's an imperative build system with a declarative syntax; not parallel by default; always requires a clean build in practice, unless your code is all stuffed into one big blob. For a long time, it happily downloaded executable code from the internet without even basic cryptographic verification.
Even the ergonomics of the tool are poor - it spams log output with all sorts of information other than what you actually need (like the output of a failed compilation). Getting information from a failed test is painful. If you change one module that another depends on, the latter will not be rebuilt - letting you find issues via NoSuchMethodError at runtime. Annotation processors require special care to enable, and don't always run when they should.
I would rather use make and javac than Maven. Gradle, Bazel (and its diaspora of non-google imitations) would be much better choices.