In this 8 part series, I will cover how to create a simple Maven Web project, and then add Hibernate, Spring MVC and Mockito dependencies. I am assuming you have Maven installed. If not you can learn how to install Maven here.

First we will start with a brand new Maven project:

Step 1: Generate a Maven Webapp project:

mvn archetype:generate

The command above provides us a lot of archetype options. For this demo, we are going to choose #83 that is: maven-archetype-webapp (An archetype which contains a sample Maven Webapp project.).

Below (in bold) were the options I chose:

Choose a number: 80: **83**
Choose version: 
1: 1.0
2: 1.0-alpha-1
3: 1.0-alpha-2
4: 1.0-alpha-3
5: 1.0-alpha-4
Choose a number: : 5
Define value for property 'groupId': : com.mayabansi.webappdemo
Define value for property 'artifactId': : MavenSpringHibernateMockitoDemo
Define value for property 'version': 1.0-SNAPSHOT: 
Define value for property 'package': com.mayabansi.webappdemo: 

(NOTE: I have left out the rest of standard maven output for brevity)

Above command created the project structure below:

rhasija@rhasija-desktop ~/workspace/blog_project/MavenSpringHibernateMockitoDemo $ find . 
.
./src
./src/main
./src/main/webapp
./src/main/webapp/index.jsp
./src/main/webapp/WEB-INF
./src/main/webapp/WEB-INF/web.xml
./src/main/resources
./pom.xml

rhasija@rhasija-desktop ~/workspace/blog_project/MavenSpringHibernateMockitoDemo $ 

Step 2: Add basic project to source code control.

Step 3: Make project ready for IntelliJ Idea/Eclipse.

Step 4: Add JBoss Remote Repository as alternate remote repository for Hibernate artifacts.

Step 5: Add Hibernate related dependencies.

Step 6: Add Enterprise Bundle repository to settings.xml

Step 7: Add Spring MVC related dependencies.

Step 8: Add Mockito dependency.

NOTE: The example is complete. I will keep adding to it as I learn new things so as to make the example project richer.

The entire project can be downloaded from GitHub or you can use Git to checkout the project:

git clone git@github.com:RaviH/MavenSpringHibernateMockito.git