I see Maven as an abstraction layer of build process. If you look into the available plugins it provides like reporting and test, you may see it as an infrastructure for project collaboration. Confused? OK, let me cut the crap and get into a bit of what it does. In designer perspective, Maven is a pluggable framework that you can use declarative language (ie. POM) to glue up different plugins to function as a whole. With this framework in place, Maven went a step further to:
- Define you a standard build lifecycle
- Help you to manage dependencies
- Promote reusability via plugins
As other pluggable framework, it is highly extensible, easy to understand and work in abstract fashion. Occasionally, you may get down to the plugin and write your own. But the goal of Maven is to minimize this for you. You may be using Ant right now for your project. Don’t get me wrong, it is a good tool. However, often time, when the project is large, Ant script will become very complex. Apart from that, the project flow and lifecycle are implicitly embedded into the script. As a result, if you are not the originator of the script, you will have a hard time to pick up. Needless to say to change it for good. Here is an online book that talks about Maven. I hope it helps!






































(4.75 out of 5)
No Comment Received
Sorry the comment area are closed for non registered users