Maven's one of the most disgustingly over-engineered, obtuse, verbose, tightly coupled pieces of s...oftware I've ever seen. From <i>the project's own 5-minute introduction</i> [1]:<p>If you have just installed Maven, it may take a while on the first run. This is because Maven is downloading the most recent artifacts (plugin jars and other files) into your local repository. You may also need to execute the command a couple of times before it succeeds...The POM is huge and can be daunting in its complexity...You executed the Maven goal archetype:generate, and passed in various parameters to that goal. The prefix "archetype" is the plugin that contains the goal... the second [command] is simply a single word - package. Rather than a goal, this is a phase. A phase is a step in the build lifecycle, which is an ordered sequence of phases. When a phase is given, Maven will execute every phase in the sequence up to and including the one defined. For example, if we execute the compile phase, the phases that actually get executed are [list of 6 items]...Although hardly a comprehensive list, these are the most common default lifecycle phases executed [list of 10 items]...<p>So in order to use this, I have to understand its own specialized non-standard vocabulary, like artifact, repository, archetype, plugin, goal, package, phase, lifecycle...the build configuration is in XML...it does a lot of stuff automagically, like executing five extra phases or downloading dozens or hundreds of executable files from the Internet.<p>People love Maven for some reason, but I'll use shell scripts or Ant for my Java builds, because <i>when</i> the build breaks [2], I want to be able to understand what's going on without having to read a few hundred pages of the build system manual.<p>[1] <a href="https://maven.apache.org/guides/getting-started/maven-in-five-minutes.html" rel="nofollow">https://maven.apache.org/guides/getting-started/maven-in-fiv...</a><p>[2] Anyone who's ever worked with any build system knows the build <i>will</i> break.