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