博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Maven生命周期详解
阅读量:6533 次
发布时间:2019-06-24

本文共 1504 字,大约阅读时间需要 5 分钟。

hot3.png

Maven的生命周期是抽象的,其实际行为都由插件来完成,如package阶段的任务可能就会由maven-jar-plugin完成。

1. 三套生命周期:

Maven有三套相互独立的生命周期,它们分别为clean、default和site。

clean生命周期的目的是清理项目。

default生命周期的目的是构建项目。

site生命周期的目的是建立项目站点。

2. clean生命周期:

clean生命周期的目的是清理项目,它包含三个阶段:

1) pre-clean执行一些清理前需要完成的工作。

2) clean清理上一次构建生成的文件。

3) post-clean执行一些清理后需要完成的工作。

3. default生命周期:

default生命周期定义了真正构建时所需要执行的所有步骤,它是所有生命周期中最核心的部分,其包含的阶段如下:

1) validate

2) initialize

3) generate-sources

4) process-sources : 处理项目主资源文件。一般来说是对src/main/resources目录的内容进行变量替换等工作后,复制到项目输出的主classapth目录中。

5) generate-resources

6) process-resources

7) compile:编译项目的主源码。一般来说,是编译src/main/java目录下的Java文件至项目输出的主classpath目录中。

8) process-classes

9) generate-test-sources

10) process-test-sources:处理项目测试资源文件。一般来说,是对src/test/resources目录的内容进行变量替换等工作后,复制到项目输出的测试classpath目录中。

11) generate-test-resources

12) process-test-resources

13) test-compile:编译项目的测试代码。一般来说,是编译src/test/java目录下的Java文件至项目输出的测试classpath目录中。

14) process-test-classes

15) test:使用单元测试框架运行测试,测试代码不会被打包或部署。

16) prepare-package

17) package:接受编译好的代码,打包成可发布的格式,如jar。

18) pre-integration-test

19) integration-test

20) post-integration-test

21) verify

22) install:将包安装到Maven本地仓库,供本地其他Maven项目使用。

23) deploy:将最终的包复制到远程仓库,供其他开发人员和Maven项目使用。

4. site生命周期:

site生命周期的目的是建立和发布项目站点,Maven能够基于POM所包含的信息,自动生成一个友好的站点,方便团队交流和发布项目信息。该生命周期包含如下阶段:

1) pre-site:执行一些在生成项目站点之前需要完成的工作。

2) site:生成项目站点文档。

3) post-site:执行一些在生成项目站点之后需要完成的工作。

4) site-deploy:将生成的项目站点发布到服务器上。

5. 命令行与生命周期:

从命令行执行Maven任务的最主要方式就是调用Maven的生命周期阶段。

转载于:https://my.oschina.net/u/2914561/blog/811756

你可能感兴趣的文章
linux下ExtMail邮件使用及管理平台
查看>>
linux中iptables设置自建dns服务器的端口
查看>>
基于Yum安装zabbix3.0
查看>>
Master-work模式
查看>>
RT-Thread--时间管理
查看>>
BUPT 63T 高才生 找最佳基站
查看>>
linux 学习(二)防火墙
查看>>
scala001
查看>>
android - SpannableString或SpannableStringBuilder以及string.xml文件中的整型和string型代替...
查看>>
自己选择的路,跪着走完吧——一个兔纸的话
查看>>
三端稳压器各个参数解释
查看>>
算法(Algorithms)第4版 练习 1.3.14
查看>>
virtual PC 打造IE6、IE7、IE8、IE9等多版本共存原版测试环境
查看>>
js面向对象1
查看>>
内部类
查看>>
高速数论变换(NTT)
查看>>
Springmvc的跳转方式
查看>>
加密原理介绍,代码实现DES、AES、RSA、Base64、MD5
查看>>
LINUX中常用操作命令
查看>>
python 获取进程pid号
查看>>