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
mvn help:describe -Dcmd=package
Copy after login
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 <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>
Copy after login
stage.
Profile (configuration file) @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 {
// ...
}
Copy after login
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:
<profiles>
<profile>
<activation>
<property>
<name>debug</name>
</property>
</activation>
...
</profile>
<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
...
</profile>
</profiles>
Copy after login
The above is the detailed content of Maven notes (1). For more information, please follow other related articles on the PHP Chinese website!