An archetype is a template project for a particular type of module, which ranges from a simple JAR or WAR module to a more complete template application for many popular frameworks.
Each Maven project needs some coordinates to allow it to be identified by other Maven projects. These are called the group ID, artifact ID, and version.
Group ID: An identifier for a collection of related modules. This is usually a hierarchy that starts with the organization that produced the modules, and then possibly moves into the increasingly more specialized project or sub-projects that the artifacts are a part of. This can also be thought of as a namespace, and is structured much like the Java package system.
Artifact ID: The Artifact ID is a unique identifier for a given module within a group.
Version: The version is used to identify the release or build number of the project.
The POM (Project Object Model) contains important pieces of information about the project, which include:
The Maven coordinate of the project for reuse by other Maven projects
The project name, description and license
Project resource information such as the location of source control, issue tracking, and continuous integration
The developers, contributors and organizations participating in the project
The POM will also include information about how the project should be built,
The source directory layout
Dependencies on other projects
Build requirements (by means of Maven plugins) and configuration
In Maven, the build is run using a predefined, ordered set of steps called the build lifecycle. The individual steps are called phases, and the same phases are run for every Maven build using the default lifecycle, no matter what it will produce. The build tasks that will be performed during each phase are determined by the configuration in the project file, and in particular the selected packaging.
Some of the most commonly used lifecycle phases in the default lifecycle are:
validate—checks build prerequisites
compile—compiles the source code identified for the build
test—runs unit tests for the compiled code
package—assembles the compiled code into a binary build result
install—shares the build with other projects on the same machine
deploy—publishes the build into a remote repository for other projects to use
The following is a complete list of phases available in Maven 2.2:
validate, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, test, prepare-package, package, integration-test, verify, install, deploy.
Install Oracle Jdbc driver in your Maven local repository