Now that we’ve just run Maven for the first time, this is a good point to introduce a few of the core concepts of Maven. In Example 3-1, you generated a project that consisted of a POM and some code assembled in the Maven Standard Directory Layout. You then executed Maven with a lifecycle phase as an argument that prompted Maven to execute a series of Maven plugin goals. Lastly, you installed a Maven artifact into your local repository. Wait—what is a “lifecycle”? What is a “local repository”? The following section defines some of Maven’s central concepts.
In the previous section, we ran Maven with two different types
of command-line arguments. The first command was a
single plugin goal, the
create goal of the
Archetype plugin. The second execution of Maven was a lifecycle
install. To execute a single Maven plugin goal, we used the
syntax mvn archetype:create,
archetype is the identifier of a plugin and
create is the identifier of a goal. When Maven
executes a plugin goal, it prints out the plugin identifier and goal
identifier to standard output:
$ mvn archetype:create -DgroupId=org.sonatype.mavenbook.ch03 \ -DartifactId=simple \ -DpackageName=org.sonatype.mavenbook ... [INFO] [archetype:create] [INFO] artifact org.apache.maven.archetypes:maven-archetype-quickstart: \ checking for updates from central ...
A Maven plugin is a collection of one or more goals (see Figure 3-1). Examples of Maven plugins can be simple core plugins such ...