`

Maven的执行方式

阅读更多

Maven的执行方式

maven对构建(build)的过程进行了抽象和定义,这个过程被称为构建的生命周期(lifecycle)。生命周期(lifecycle)由多个阶段(phase)组成,每个阶段(phase)会挂接一到多个goal。goal是maven里定义任务的最小单元,goal分为两类,一类是绑定phase的,就是执行到某个phase,那么这个goal就会触发,另外一类不绑定,就是单独任务,这就相当于ant里的target。

1。以phase来构建
例如:
mvn clean
mvn compile
mvn test
mvn package
表明maven会执行到某个生命周期(lifecycle)的某个阶段(phase)
这个phase以及它前面所有phase绑定的目标(goal)都会执行, 每个phase都会邦定maven默认的goal或者没有goal, 或者自定义的goal。
也可以通过传入参数跳过(skip)某些phase,例如:

mvn install -Dmaven.test.skip=true


1。以goal来构建
这类就是没有绑定phase的goal,但是这类goal却通常会有个执行前提,就是project必须执行到某个phase,
那么执行这个goal,其实也会触发maven执行到前提要求的phase。
例如jetty:run是个非绑定phase的goal,它的前提是test-compile,这个前提是由plugin的代码逻辑制定的

/**
 * @goal run
 * @requiresDependencyResolution runtime
 * @execute phase="test-compile"
 * @description Runs jetty6 directly from a maven project
 */
public class Jetty6RunMojo extends AbstractJettyRunMojo
{
    ...
}

二。Maven lifecycle, phase概览
Maven预设了三个Lifecycle ,各包含了下列Phases.

  1. Clean Lifecycle
    • pre-clean
    • clean
    • post-clean
  2. Default Lifecycle
    • validate
    • initialize
    • generate-sources
    • process-sources
    • generate-resources
    • process-resources
    • compile
    • process-classes
    • generate-test-sources
    • process-test-sources
    • process-test-resources
    • test-compile
    • process-test-classes
    • test
    • prepare-package
    • package
    • pre-integration-test
    • integration-test
    • post-integration-test
    • verify
    • install
    • deploy
  3. Site Lifecycle
    • pre-site
    • site
    • post-site
    • site-deploy
分享到:
评论

相关推荐

    Maven仓库理解、如何引入本地包、Maven多种方式打可执行jar包

    Maven仓库理解、如何引入本地包、Maven多种方式打可执行jar包

    maven打可执行JAR包

    maven打jar包方法 并且java -jar *.jar可执行

    maven生成可执行exe文件

    将java生成可执行exe文件,可以直接在win下双击运行

    Maven将带有第三方依赖的可执行程序打包示例

    java 写的可执行程序怎么使用 maven 打包? 执行程序中有巨多第三方依赖包,要一起打进 jar 包,怎么办? maven-assembly-plugin 插件打第三方依赖包进 jar,spring 有 org.springframework.beans.factory.parsing....

    maven 可执行程序 文档 需要java环境

    maven 可执行程序 文档 需要java环境。运行的环境是用bat脚本来完成的

    apache-maven-3.9.5-bin windows 64bit x86下载

    3、项目生命周期管理:Maven提供了一系列的构建阶段(如编译、测试、打包、部署等),你可以在pom.xml中配置这些阶段的行为,Maven会按照定义好的生命周期来执行相应的操作。 4、插件系统:Maven支持插件机制,你...

    apache-maven-3.5.0

    Maven3.5.0安装与配置 Maven3.5.0的安装 将下载后的apache-maven-3.5.0-bin.zip解压,如“g:\java\maven\apache-maven-3.5.0”下,尽量不要安装到“c:\... 测试安装是否成功,在CMD下执行: mvn -version或者mvn -v

    maven-mvnd提供更快的Maven构建

    编辑工具目录中的conf/mvnd.properties配置文件,修改maven.settings属性值为你本地使用的maven配置,这样可以复用maven配置,不用再重新下载一堆儿jar包了 注意使用linux下的路径分隔符/; 配置mvnd可执行文件到...

    maven生成可执行jar命令

    maven项目发布生成可运行的jar文件,发布到服务器直接运行

    Maven拦截器:拦截Maven执行

    Maven拦截器:拦截Maven执行

    IDEA11 Maven3快速入门及应用

    Maven简介 Maven准备 Maven目录分析 Maven本地仓库 IDEA启用Maven功能 IDEA创建Maven工程 IDEA执行Maven命令 Maven配置POM 配置Maven远程仓库(私服)

    mavenimport.sh

    maven本地缓批量存上传到Nexus Repository Manager的脚本,本地仓库从远程仓库拉取的缓存文件上传的本地私服,只要将本文件添加到缓存文件的一级目录然后运行该脚本文件即可,传入参数包含私服的url以及私服仓库的...

    maven window下安装包

    第9章:使用Nexus创建私服/9.5 配置MAVEN从Nexus下载构件/9.5.2 setting.xml方式(适合所有项目) 第9章:使用Nexus创建私服/9.6 部署构件到Nexus/9.6.1 使用Maven部署构件到Nexus 第9章:使用Nexus创建私服/9.7 ...

    Maven构建Dubbo服务可执行jar包

    通过maven搭建dubbo环境,包括生产者和消费者以及公共模块,配置模块等,Dubbo视频教程--基础篇--第07节--使用Maven构建Dubbo服务的可执行jar包.pdf,maven和dubbo..zip源码工程

    jenkins实现maven项目自动部署到tomcat

    jenkins实现maven项目自动部署到tomcat 实现自动部署,

    maven常用命令.txt

    maven常用命令

    maven入门到精通

    同时它采用了现在流行的插件体系架构,只保留最小的核心,其余功能都通过插件的形式提供,所以 maven 下载很小( 1.1M ),在执行 maven 任务时,才会自动下载需要的插件。 这个基本原理与 Pear ――PHP扩展与...

    maven插件之构建可执行的jar入门

    NULL 博文链接:https://hushuang.iteye.com/blog/2343798

    maven+bat打包

    maven+bat打包,通过在maven中配置插件执行bat脚本进行目录下的打包。

    Maven 默认插件以及功能.docx

    面是执行 mvn clean install 产生的执行日志,通过日志可以看到每个步骤都显示 plugin 名称,版本号,生命周期阶段,执行操作等。 maven-clean-plugin:2.5:clean (default-clean) maven-resources-plugin:2.6:...

Global site tag (gtag.js) - Google Analytics