Common Lifecycle Goals
Many of the packaging lifecycles have similar goals. If you look
at the goals bound to the WAR and
JAR lifecycles, youâll see that they differ only in
the package
phase. The package
phase of the WAR lifecycle calls
war:war
and the package
phase of
the JAR lifecycle calls jar:jar
.
Most of the lifecycles you will come into contact with share some
common lifecycle goals for managing resources, running tests, and
compiling source code. In this section, weâll explore some of these
common lifecycle goals in detail.
Process Resources
Most lifecycles bind the
resources:resources
goal to the process-resources
phase. The process-resources
phase âprocessesâ
resources and copies them to the output directory. If you havenât
customized the default directory locations defined in the Super
POM, this means that Maven will copy the files
from ${basedir}/src/main/resources to
${basedir}/target/classes or
the directory defined in ${project.build.outputDirectory}. In
addition to copying the resources to the output directory, Maven can
also apply a filter to the resources that allows you to replace
tokens within resource file. Just as variables are referenced in a
POM using ${...}
notation, you can reference variables in your projectâs resources using the same syntax. Coupled with build profiles, such a facility can be used to produce build artifacts that target different deployment platforms. This is something that is common in environments that need to produce output ...
Get Maven: The Definitive Guide now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.