maven多个plugin相同phase的执行顺序

 更新时间:2020年12月23日 09:40:21   作者:张占岭 lind  
这篇文章主要介绍了maven多个plugin相同phase的执行顺序,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

Maven是项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。

Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。当你使用Maven的时候,你用一个明确定义的项目对象模型来描述你的项目,然后Maven可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。

Maven 有一个生命周期,当你运行 mvn install 的时候被调用。这条命令告诉 Maven 执行一系列的有序的步骤,直到到达你指定的生命周期。遍历生命周期旅途中的一个影响就是,Maven 运行了许多默认的插件目标,这些目标完成了像编译和创建一个 JAR 文件这样的工作。

此外,Maven能够很方便的帮你管理项目报告,生成站点,管理JAR文件,等等

对于maven进行项目构建时,我们会使用到插件,对构建过程进行一些控制,加工,加密,重写,依赖打包等工作,一般我们打包时会把phase定为package,意思是说,当进行package动作后,处理你的插件。

多个相同phase的顺序

当我们有多个plugin,并且相同phase时,有时需要考虑到顺序问题,因为你的plugin可能会有某个其它plugin的结果的依赖,所以我们需要控制

<plugins>
 <plugin>
  <artifactId>maven-shade-plugin</artifactId>
  <executions>
   <execution>
    <phase>package</phase>
    <goals>
      <goal>shade</goal>
    </goals>
   </execution>
  </executions>
  </plugin>
  <plugin>
  <artifactId>classfinal-maven-plugin</artifactId>
  <executions>
   <execution>
    <phase>package</phase>
    <goals>
      <goal>shade</goal>
    </goals>
   </execution>
  </executions>
  </plugin>
</plugins>

如上面两个插件maven-shade-plugin和classfinal-maven-plugin都绑定了package阶段,它们的执行顺序是怎样的呢?,答案很清晰:谁放在前面,谁先执行!

如图:

到此这篇关于maven多个plugin相同phase的执行顺序的文章就介绍到这了,更多相关maven plugin phase执行顺序内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 解决SpringBoot整合MybatisPlus分模块管理遇到的bug

    解决SpringBoot整合MybatisPlus分模块管理遇到的bug

    这篇文章主要介绍了解决SpringBoot整合MybatisPlus分模块管理遇到的bug,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • activiti实现员工请假流程解析

    activiti实现员工请假流程解析

    这篇文章主要介绍了activiti实现员工请假流程解析,本文通过实例代码图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • 集成apollo动态日志取缔logback-spring.xml配置

    集成apollo动态日志取缔logback-spring.xml配置

    这篇文章主要为大家介绍了集成apollo动态日志取缔logback-spring.xml配置的过程内容详解,有需要的朋友可以借鉴参考下,希望能够有所帮助
    2022-02-02
  • Java 实战练手项目之酒店管理系统的实现流程

    Java 实战练手项目之酒店管理系统的实现流程

    读万卷书不如行万里路,只学书上的理论是远远不够的,只有在实战中才能获得能力的提升,本篇文章手把手带你用java+SSM+jsp+mysql+maven实现一个酒店管理系统,大家可以在过程中查缺补漏,提升水平
    2021-11-11
  • 深入浅析springboot中static和templates区别

    深入浅析springboot中static和templates区别

    这篇文章主要介绍了springboot中static和templates区别,本文通过图文实例代码相结合给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-02-02
  • java基础之数组常用操作总结(必看篇)

    java基础之数组常用操作总结(必看篇)

    下面小编就为大家带来一篇java基础之数组常用操作总结(必看篇)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • springboot组件初始化后的4种启动方式及常用方法

    springboot组件初始化后的4种启动方式及常用方法

    在Spring Boot中,您可以通过几种方式在组件初始化后执行启动任务,下面小编给大家分享springboot组件初始化后的4种启动方式及常用方法,感兴趣的朋友一起看看吧
    2024-06-06
  • MVC框架自定义实现过程

    MVC框架自定义实现过程

    这篇文章主要介绍了MVC框架自定义实现过程,通过搞懂什么是MVC以及MVC的运行原理然后再去理解其演绎过程,本文附含了详细的思维导图帮助大家更好的理解MVC
    2021-08-08
  • Spring Bean注册与注入实现方法详解

    Spring Bean注册与注入实现方法详解

    首先,要学习Spring中的Bean的注入方式,就要先了解什么是依赖注入。依赖注入是指:让调用类对某一接口的实现类的实现类的依赖关系由第三方注入,以此来消除调用类对某一接口实现类的依赖。Spring容器中支持的依赖注入方式主要有属性注入、构造函数注入、工厂方法注入
    2022-10-10
  • 总结Junit4,Junit5,Jupiter之间的联系

    总结Junit4,Junit5,Jupiter之间的联系

    Jupiter和Junit5之间有什么联系?Jupiter提供了哪些新的测试方法?如何用IDEA和Jupiter生成可读性更好的测试报告?文中有非常详细的说明,需要的朋友可以参考下
    2021-06-06

最新评论