成都网站建设设计

将想法与焦点和您一起共享

Maven的生命周期和插件是什么

这篇文章主要讲解了“Maven的生命周期和插件是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Maven的生命周期和插件是什么”吧!

创新互联是一家专注于成都网站设计、网站制作与策划设计,和平网站建设哪家好?创新互联做网站,专注于网站建设十年,网设计领域的专业建站公司;建站业务涵盖:和平等地区。和平做网站价格咨询:18980820575

一个完整的项目构建过程通常包括清理、编译、测试、打包、集成测试、验证、部署等步骤,Maven从中抽取了一套完善的、易扩展的生命周期。Maven的生命周期是抽象的,其中的具体任务都交由插件来完成。Maven为大多数构建任务编写并绑定了默认的插件,如针对编译的插件:maven-compiler-plugin。用户也可自行配置或编写插件。

1 . 三套生命周期

Maven定义了三套生命周期:clean、default、site,每个生命周期都包含了一些阶段(phase)。三套生命周期相互独立,但各个生命周期中的phase却是有顺序的,且后面的phase依赖于前面的phase。执行某个phase时,其前面的phase会依顺序执行,但不会触发另外两套生命周期中的任何phase。

1 . 1 clean生命周期

  1. pre-clean    :执行清理前的工作;

  2. clean    :清理上一次构建生成的所有文件;

  3. post-clean    :执行清理后的工作

1 . 2 default生命周期

default生命周期是最核心的,它包含了构建项目时真正需要执行的所有步骤。

  1. validate

  2. initialize

  3. generate-sources

  4. process-sources

  5. generate-resources

  6. process-resources    :复制和处理资源文件到target目录,准备打包;

  7. compile    :编译项目的源代码;

  8. process-classes

  9. generate-test-sources

  10. process-test-sources

  11. generate-test-resources

  12. process-test-resources

  13. test-compile    :编译测试源代码;

  14. process-test-classes

  15. test    :运行测试代码;

  16. prepare-package

  17. package    :打包成jar或者war或者其他格式的分发包;

  18. pre-integration-test

  19. integration-test

  20. post-integration-test

  21. verify

  22. install    :将打好的包安装到本地仓库,供其他项目使用;

  23. deploy    :将打好的包安装到远程仓库,供其他项目使用;

1 . 3 site生命周期

  1. pre-site

  2. site    :生成项目的站点文档;

  3. post-site

  4. site-deploy    :发布生成的站点文档

2 . Maven的插件

Maven的核心文件很小,主要的任务都是由插件来完成。定位到:%本地仓库%\org\apache\maven\plugins,可以看到一些下载好的插件:

Maven的生命周期和插件是什么

Maven官网上有更详细的官方插件列表:

Maven的生命周期和插件是什么

每个插件都有哪些个目标,官方文档有更详细的说明:Maven Plugins

Maven的生命周期和插件是什么

3 . 1 内置的绑定

Maven对一些生命周期的阶段(phase)默认绑定了插件目标,因为不同的项目有jar、war、pom等不同的打包方式,因此对应的有不同的绑定关系,其中针对default生命周期的jar包打包方式的绑定关系如下:

第二列中,冒号后面即是绑定的插件目标,冒号前面是插件的前缀(prefix),是配置和使用插件的一种简化方式。Plugin Prefix

3 . 2 自定义绑定

用户可以根据需要将任何插件目标绑定到任何生命周期的阶段,如:将maven-source-plugin的jar-no-fork目标绑定到default生命周期的package阶段,这样,以后在执行mvn package命令打包项目时,在package阶段之后会执行源代码打包,生成如:ehcache-core-2.5.0-sources.jar形式的源码包。


    
        
            org.apache.maven.plugins
            maven-source-plugin
            2.2.1
            
                
                    attach-source
                    package
                    
                        jar-no-fork
                    
                
            
        
    
    ……

4 . 配置插件

Maven插件高度易扩展,可以方便的进行自定义配置。如:配置maven-compiler-plugin插件编译源代码的JDK版本为1.7:


    org.apache.maven.plugins
    maven-compiler-plugin
    
        1.7
        1.7
    

也可以对插件的各个目标进行更具体的配置。Configuring Plug-ins

5 . 插件仓库

跟其他构件一样,插件也是根据坐标存储在Maven仓库中。超级POM中Maven配置的默认插件远程仓库如下:


    
      central
      Central Repository
      http://repo.maven.apache.org/maven2
      default
      
        false
      
      
        never
      
    

感谢各位的阅读,以上就是“Maven的生命周期和插件是什么”的内容了,经过本文的学习后,相信大家对Maven的生命周期和插件是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!


分享名称:Maven的生命周期和插件是什么
路径分享:http://chengdu.cdxwcx.cn/article/jgcpci.html