First create a new project:
mvn archetype:create -DgroupId=my.org -DartifactId=myapp
groupId is whatever you want, it's sort of like a package name or namespace. artifactId is probably your application name, a directory with this value will be created and your final build will be named this value.
Inside the directory just created you will find the src dir. If you are developing a java app, put all your code under src/main/java. There will be some generated code in src/main/java and src/test/java, you can delete it or ignore it.
The easy way to get all your external jar files into your project is to set up your own repository. It can be a local dir, or be hosted with apache. Just make a directory somewhere and start putting jar files in your repository with this command:
mvn deploy:deploy-file -DgroupId=mailapi -DartifactId=smtp \
-Dversion=1.4 -Durl=file:///path/to/repo \
-Dpackaging=jar -Dfile=smtp.jar
If you have ssh keys setup, you can use scp in the url also.
Now you have a repository you can reference in your project. Open pom.xml and add the new repository to your project:
<repositories>
<repository>
<name>myname</name>
<id>someid</id>
<url>file:///path/to/repo</url>
</repository>
</repositories>
Now you can reference your jar files as dependencies in pom.xml.
<dependency>
<groupId>mailapi</groupId>
<artifactId>smtp</artifactId>
<version>1.4</version>
</dependency>
If you omit version, it will use the newest version available.
Now to you can use simple commands to build your application:
mvn compile
Only compiles the source code.
mvn install
Compiles and packages your project then installs it in your local repository.
mvn war:war
Builds a war file of your application, including everything from src/main/webapp and your packaged project.
Creating a web site for your project is really easy, you can use an xml format (xdoc), that you can embed html into, or you can use a wiki like format (apt). You need a site.xml file, put it in src/site. Put your xml or apt files in src/site/xdoc and src/site/apt repectively. Here is an example site.xml and xdoc file:
<!-- site.xml -->
<project name="My Project">
<bannerLeft>
<name>banner</name>
<src>relative/path/to/image</src>
<href>http://my.home.page</href>
</bannerLeft>
<body>
<links>
<item name="orglink" href="http://my.org" target="_blank"/>
</links>
<menu name="About My Project">
<item name="Introduction" href="index.html"/>
<item name="Getting Started" href="getting-started.html"/>
</menu>
</body>
</project>
<!-- index.xml -->
<document>
<properties>
<title>My Project</title>
<sub-title>Welcome to My Project</sub-title>
<authors>
<person name="Brice Lambi" email="bricelambi@my.org"/>
</authors>
</properties>
<body>
<section name="Welcome to My Project">
<p>Maven is cool!</p>
</section>
</body>
</document>
You can build your site with the command:
mvn site:site
Check out the maven documentation for more info: http://maven.apache.org