【maven实战】14-生命周期

扫码关注公众号:Java 技术驿站

发送:vip
将链接复制到本浏览器,永久解锁本站全部文章

【公众号:Java 技术驿站】 【加作者微信交流技术,拉技术群】

maven的生命周期就是为了对所有的构建过程进行抽象和统一。这个生命周期包含了项目的清理,初始化,编译,测试,打包,集成测试,验证,部署和站点生成等几乎所有构建步骤。也就是说几乎所有项目的构建都能映射到这样一个生命周期上。maven的生命周期是抽象的,这意味着生命周期本身不做任何实际工作在maven的设计中,实际人物都交由插件来完成。

三套生命周期:maven拥有三套相互独立的生命周期,他们分别是clean,default和site。clean生命周期的目的是清理项目,default生命周期的目的是构建项目,而site生命周期的目的是建立项目站点。每个生命周期包含一些阶段,这些阶段是有顺序的,并且后面的阶段依赖于前面的阶段。

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

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

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

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

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

validate

initialize

generate-sources

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

generate-resources

process-resources

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

process-classes

generate-test-sources

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

generate-test-resources

process-test-resources

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

process-test-classes

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

prepare-package

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

pre-integration-test

integration-test

post-integration-test

verify

install将包安装到maven本地仓库,供本地其他maven项目使用。

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

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

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

site生成项目站点文档

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

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

赞(0) 打赏
版权归原创作者所有,任何形式的转载请联系博主:daming_90:Java 技术驿站 » 【maven实战】14-生命周期

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏