Maven life cycle and plug -in configuration
Maven uses standard life cycle models, including
, and default
three life cycles. Each life cycle contains a series of orderly stages (Phase). clean
site
Phase
When executing the Maven command, for example, , Maven will execute all the commands from the
to stage in order. The complete stage list can refer to the Maven document. mvn compile
validate
Target (GOAL) compile
The Maven plug -in target (Goal) defines specific execution tasks and is bound to a specific stage. For example, the plug -in target is bound to the
stage. In the same stage, the execution order of the plug -in target is determined by the order order of the part of the maven-compiler-plugin
file. compile
compile
To view the plug -in target that is bound to a specific stage (eg pom.xml
stage), you can use the following commands: <plugins>
View plug -in target and stage (source code) package
<code class="language-bash">mvn help:describe -Dcmd=package</code>
To understand the binding relationship between the plug -in target and the stage, you can view the source code of the plug -in. For example, the configuration of plug -in and targets is as follows:
frontend-maven-plugin
Corresponding Java code fragment: install-node-and-npm
npm
It can be seen that these two goals are bound to the <code class="language-xml"><plugin>
<groupId>com.github.eirslett</groupId>
<artifactId>frontend-maven-plugin</artifactId>
<version>1.15.1</version>
<executions>
<execution>
<id>install-node-and-npm</id>
<goals>
<goal>install-node-and-npm</goal>
</goals>
</execution>
<execution>
<id>npm install</id>
<goals>
<goal>npm</goal>
</goals>
</execution>
...
</executions>
</plugin></code>
stage.
Profile (configuration file) <code class="language-java">@Mojo(name="install-node-and-npm", defaultPhase = LifecyclePhase.GENERATE_RESOURCES, threadSafe = true)
public final class InstallNodeAndNpmMojo extends AbstractFrontendMojo {
// ...
}
@Mojo(name="npm", defaultPhase = LifecyclePhase.GENERATE_RESOURCES, threadSafe = true)
public final class NpmMojo extends AbstractFrontendMojo {
// ...
}</code>
GENERATE_RESOURCES
Profile for:
Add or cover attributes
Add dependencies
Add plug -in dependencies
- Add plug -in management dependencies
-
Set the default propile -
- You can set the default Profile through the
attribute in :
cover the enabled propile
Assume that Profile is enabled by default, to enable pom.xml
Profile and disable activeByDefault
Profile, you can use the following command:
<code class="language-xml"><profiles>
<profile>
<activation>
<property>
<name>debug</name>
</property>
</activation>
...
</profile>
<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
...
</profile>
</profiles></code>
The above is the detailed content of Maven notes (1). For more information, please follow other related articles on the PHP Chinese website!