美文网首页
maven命令构建流程

maven命令构建流程

作者: jinjin1009 | 来源:发表于2021-10-19 20:50 被阅读0次

构建流程
Maven不但有标准化的项目结构,还有一套标准化的构建流程,可以自动化实现编译,打包,发布等等
Lifecycle:maven的生命周期
Phase:maven的生命周期由一系列阶段(phase)构成,内置的default生命周期,包括以下阶段:
· validate
· initialize
· generate-sources
· process-sources
· generate-resources
· process-resources
· compile
· process-classes
· generate-test-sources
· process-test-sources
· generate-test-resources
· process-test-resources
· test-compile
· process-test-classes
· test
· prepare-package
· package
· pre-integration-test
· integration-test
· post-integration-test
· verify
· install
· deploy
如果我们运行mvn package,Maven就会执行default生命周期,它会从开始一直运行到package这个phase为止:
· validate
· ...
· package
如果我们运行mvn compile,Maven也会执行default生命周期,但这次它只会运行到compile,即以下几个phase:
· validate
· ...
· compile
Maven另一个常用的生命周期是clean,它会执行3个phase:
· pre-clean
· clean (注意这个clean不是lifecycle而是phase)
· post-clean
所以,我们使用mvn这个命令时,后面的参数是phase,Maven自动根据生命周期运行到指定的phase。
更复杂的例子是指定多个phase,例如,运行mvn clean package,Maven先执行clean生命周期并运行到clean这个phase,然后执行default生命周期并运行到package这个phase,实际执行的phase如下:
· pre-clean
· clean (注意这个clean是phase)
· validate
· ...
· package
在实际开发过程中,经常使用的命令有:
mvn clean:清理所有生成的class和jar;
mvn clean compile:先清理,再执行到compile;
mvn clean test:先清理,再执行到test,因为执行test前必须执行compile,所以这里不必指定compile;
mvn clean package:先清理,再执行到package。
大多数phase在执行过程中,因为我们通常没有在pom.xml中配置相关的设置,所以这些phase什么事情都不做
经常用到的phase其实只有几个:
clean:清理
compile:编译
test:运行测试
package:打包
Goal
执行一个phase又会触发一个或多个goal:

执行的Phase 对应执行的Goal
compile compiler:compile
test compiler:testCompile//surefire:test

goal的命名总是abc:xyz这种形式
其实我们类比一下就明白了:
lifecycle相当于Java的package,它包含一个或多个phase;
phase相当于Java的class,它包含一个或多个goal;
goal相当于class的method,它其实才是真正干活的。
大多数情况,我们只要指定phase,就默认执行这些phase默认绑定的goal,只有少数情况,我们可以直接指定运行一个goal,例如,启动Tomcat服务器:

mvn tomcat:run

相关文章

  • maven命令构建流程

    构建流程Maven不但有标准化的项目结构,还有一套标准化的构建流程,可以自动化实现编译,打包,发布等等Lifecy...

  • IDEA与MAVEN使用

    maven是一款优秀的服务构建工具,基于约定优于配置原则,提供标准的服务构建流程。maven的优点不仅限于服务构建...

  • maven命令

    maven常用命令 mvn命令创建项目 mvn一键构建idea项目

  • Child module D:\workspace\magicB

    maven 多模块构建 nvm clean install 命令报错, Child module D:\works...

  • maven

    学习资料:Maven官网中文教程 常用命令:构建项目

  • redis项目实战流程讲解

    redis实战流程 springboot项目构建1.maven引入spring-boot-starter-web包...

  • Maven

    Maven 1.依赖管理 2.构建流程 clean-compile-test-packagemvn cleanmv...

  • 构建流程配置

    创建自动化maven构建流程 前提条件: 1.Maven Integration plugin已安装2.全局配置M...

  • Maven简单使用教程

    MAVEN 常用的构建命令 mvn -v 查看版本mvn -compile 变异mvn -test 测试mvn -...

  • maven学习笔记

    构建命令介绍 mvn -v 查看maven版本 mvn compile 编译 mvn test 测试 mvn...

网友评论

      本文标题:maven命令构建流程

      本文链接:https://www.haomeiwen.com/subject/inbaoltx.html