I have learned the hard way to read some of the source code of any external library or tool, no matter how widely accepted, in case the person who wrote it didn't attend the class on not using global variables or depending on undocumented internals of the JVM (I'm looking at you Log4j 2). Or in case they were just plain bonkers, like everyone who was involved in writing Spring.
What other language hasn't had multiple build solutions that were each "the one solution" at some point in time, only to be supplanted later?
How many build solutions are there for C++, or Ruby?
I'm the only developer in my shop using IntelliJ. Everyone else uses NetBeans. Whenever someone asks me how to setup NetBeans to handle builds as easily as I do, I have to shrug. Simple things, like switching to offline mode or turning off tests is a chore for NetBeans, but it is just a simple button click for me. If I want to target a specific build profile, I check a check box.
As I'm the one who maintains the build, configuring pom.xml files and setting up modules, I can see how it can become difficult for someone who doesn't have the experience I do. OTOH, I've yet to find a problem that stumps me when I'm doing things the Maven way, and I rather enjoy the flexibility and power it provides me. Once I've got the basics in place, maintaining the system is almost trivial.