Home > Java > javaTutorial > Maven notes (1)

Maven notes (1)

Linda Hamilton
Release: 2025-01-28 04:13:09
Original
241 people have browsed it

Maven notes (1)

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!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template