Starting a new project is time consuming. You need to determine the technologies involved, build the project structure, setup the configuration files, work out the dependencies of jar files and etc. Before I had encountered Maven, I just used to copy my existing project, and start working from there. I need to add/delete, Java, jar and other resources files prior to starting a new project. With Maven came into the picture, I need not to worry about most of the tasks I just mentioned.
There are several ways you could start you project with Maven. But I choose to use the generate goal from archetype plug-in because it seems to be the easiest way to start a new project. Archetype is like a project template, where Maven has a set of predefined project templates we could choose from. If we do not specify a specific archetype, it would goes into an interactive mode, which is awesome. I would hate it if I need to remember those archetype names. Below picture, is how I run the generate task command.
![]()
When you hit the [Enter] key, you would get the archetype list as below picture.

From the picture above you could see, there are 44 archetypes you could choose from. For a simple webapp, I should choose number 18, which represents maven-archetype-webapp archetype. Key in number 18 and hit [Enter] key.
Then, you will be asked to enter your project details as below.

Console will ask you to confirm the given details as below.

Finally, Maven will start working in the background and produce below output in the console.

If you are running for the first time, it will check all dependencies and download it if necessary. Downloaded dependencies are stored in your local repository. By default, if you are installing Maven in Windows XP, it will be at C:\Documents and Settings\<user>\.m path.
Now, Maven had created below project structure.

From here, you need to add more details to your pom.xml file to add more dependencies details in order for Maven to download the necessary jar files. By default, the pom.xml will be configured with JUnit the testing component.
Maven is a good utility to speed up and facilitate the building process of your application. It adopts standard approach so all projects has similar architecture. New developer, who just comes in to join a project, could easily get a good understanding of an application. Developer will requires less time on wading through specific configurations and project structure.
For those who are fan of Eclipse or NetBean IDE, there is a good news for you. Maven have plug-ins which enables it to be integrated with these IDE. Working with Maven through IDE, is much simpler than above mentioned process. :)