posted 16 years ago
The primary difference between Ant and Maven is that Maven has the build rules already embedded in the Maven system. So if you set up the right directories, place the right files in them, and invoke the desired Maven goal, everything is magically done for you (magic meaning you really can't tell what it's doing, just what comes out the other end).
Ant, on the other hand, does nothing by itself. You have to set up your own rules, and because you do, you can select your own project structure.
Maven is popular for big projects - especially open-source ones, because the buy-in time is short. People don't have to learn a new directory structure for each project they come into. However, it can be somewhat confining.
Additionally, Maven can automatically download dependent components from component repositories (both standard/global and local/custom) and upload constructed components to component repositories. These are binary repositories and not to be confused with source repositories.
Ant is for people who want complete control and are willing to pay the price.
Which tool you prefer to use is largely a matter of personal preference, based on the kind of work your project needs to have done to get built, tested, deployed, etc.
The secret of how to be miserable is to constantly expect things are going to happen the way that they are "supposed" to happen.
You can have faith, which carries the understanding that you may be disappointed. Then there's being a willfully-blind idiot, which virtually guarantees it.