千家信息网

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

发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,这篇文章主要讲解了"Maven的生命周期和插件是什么",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Maven的生命周期和插件是什么"吧!一个完整的项目
千家信息网最后更新 2025年02月01日Maven的生命周期和插件是什么

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

一个完整的项目构建过程通常包括清理、编译、测试、打包、集成测试、验证、部署等步骤,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 Plugins

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的生命周期和插件是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

插件 周期 生命 项目 配置 仓库 目标 阶段 编译 源代码 测试 生成 不同 任务 文件 文档 方式 学习 内容 冒号 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 喷涂机点胶软件开发 本地云服务器 微信公众号怎么有服务器 软件开发方向结业实训报告 我的世界服务器4h8g 合肥新广网络技术有限公司 新疆互联网科技公司 网络服务器最主要任务是什么 青少年网络安全法律知识讲座 大话西游 服务器校验失败 豫商集团 企业数据库 ftp数据库怎么删除 用三句话给说明数据库 成都时代网络技术教育中心怎样 空间数据库多版本编辑 山东博赛网络技术有限公司cfa 手抄报网络安全三年级最简单 数据库与数据表的创建教程 服务器异常关机日志 数据库技术是什么时候发展的 上海综合软件开发价格大全 观想科技是工业互联网吗 论在网络环境下数据库的安全 如何通过网线进服务器管理口 无线鼠标服务器 儿童网络安全主题绘画作品 服务器连接网页打不开 dota2改服务器地址 win10不能登录局域网服务器 串行控制台服务器发展趋势
0