Maven Notes(1)

Maven生命周期详解

默认生命周期、清理生命周期和站点生命周期

构建阶段

阶段执行时机

例如,执行mvn compile命令:

Maven将执行从验证阶段到编译阶段的所有阶段。

完整的阶段列表如下:(此处应补充完整的阶段列表)

构建目标

目标在插件中定义,并绑定到特定的构建阶段。例如,maven-compiler-plugin插件中的compile目标绑定到compile阶段。

同一阶段中,不同插件的目标执行顺序由pom.xml文件中部分插件的声明顺序决定。

查看绑定到package阶段的插件目标:

mvn help:describe -dcmd=package

查看插件目标和阶段绑定信息

frontend-maven-plugin插件为例:


  com.github.eirslett
  frontend-maven-plugin
  1.15.1
  
    
      install-node-and-npm
      
        install-node-and-npm
      
    
    
      npm in

stall
npm
...

install-node-and-npmnpm目标的定义类如下,它们绑定到generate-resources阶段:

@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 {
  // ...
}

Maven配置文件

配置文件用于:

  • 添加或覆盖属性
  • 添加依赖项
  • 添加插件依赖项
  • 添加插件管理依赖项

设置默认配置文件


  
    
      
        debug
      
    
    ...
  
  
    dev
    
      true
    
    ...
  

覆盖已启用的配置文件

假设dev配置文件默认启用,要启用production配置文件并禁用dev配置文件:

mvn -P=-dev,production