第9章 maven的插件和生命周期

第9章 maven的插件和生命周期

本章介绍了maven生命周期、插件以及如何配置插件

9.1 生命周期

一般的项目都会经历这几个步骤:编译,测试,打包,部署,有些公司是手动方式,有些是自动化脚本方式,虽然方式类似,但不可能完全相同。maven对这些工作进行抽象和统一,总结了一套完善的生命周期。

9.1.1 三套生命周期

maven的三套生命周期分别是:cleandefaultsite,每个周期都分为多个阶段。

9.1.2 clean生命周期

1、pre-clean:执行清理前需要完成的工作

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

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

9.1.3 default生命周期

1、 validate:验证工程是否正确,所有需要的资源是否可用。

2、 compile:编译项目的源代码。

3、 test:使用合适的单元测试框架来测试已编译的源代码。这些测试不需要已打包和布署。

4、 package:把已编译的代码打包成可发布的格式,比如jar。

5、 integration-test:如有需要,将包处理和发布到一个能够进行集成测试的环境。

6、 verify:运行所有检查,验证包是否有效且达到质量标准。

7、 install:把包安装到maven本地仓库,可以被其他工程作为依赖来使用。

8、 Deploy:在集成或者发布环境下执行,将最终版本的包拷贝到远程的repository,使得其他的开发者或者工程可以共享。

9.1.4 site生命周期

1、 pre-site:生成项目站点之前需要完成的工作
2、 site:生成项目站点文档
3、 post-site:生成项目站点之后需要完成的工作
4、 site-deploy:将项目站点发布到服务器上

9.2 插件

maven仅仅定义了抽象的生命周期,具体的任务交给插件来完成。插件以独立的构件形式存在。

9.2.1 内置绑定

为了能让用户不需要配置快速的构件项目,maven在核心为一些主要的生命周期阶段绑定了很多插件的目标,当用户通过命令行调用生命周期阶段的时候,对应的插件目标就会执行相应的任务。
- clean生命周期阶段与插件目标的绑定关系

生命周期阶段 插件目标
pre-clean
clean maven-clean-plugin:clean
post-clean

- site生命周期阶段与插件目标的绑定关系

生命周期阶段 插件目标
pre-site
site maven-site-plugin:site
post-site
site-deploy maven-site-plugin:deploy
  • default生命周期与内置插件绑定关系
生命周期阶段 插件目标 执行任务
process-resources maven-resources-plugin:resources 复制主资源文件至主输出目录
compile maven-compile-plugin:compile 编译主代码至主输出目录
process-test-resources maven-resources-plugin:testRresources 复制测试资源文件至测试输出目录
test-compile maven-compiler-plugin:testCompile 编译测试代码至测试输出目录
test maven-surefire-plugin:test 执行测试用例
package maven-jar-plugin:jar 创建项目jar包
install maven-install-plugin:install 将项目输出构件安装到本地仓库
deploy maven-deploy-plugin:deploy 将项目输出构件部署到远程仓库

9.2.2 插件配置

插件配置分为命令行和pom文件配置,本文只介绍pom文件配置插件。


<build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.3.2</version>
                <configuration>
                    <source>1.7</source>
                    <target>1.7</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

以上代码配置了maven-compiler-plugin插件,指定编辑版本为JDK1.7

9.2.2 更多插件

更多插件请访问maven插件官网:http://maven.apache.org/plugins/index.html



首页传送门

时间: 2024-08-21 01:41:32

第9章 maven的插件和生命周期的相关文章

maven详解之生命周期与插件(一)

Maven是一个优秀的项目管理工具,它能够帮你管理编译.报告.文档等. Maven的生命周期: maven的生命周期是抽象的,它本身并不做任何的工作.实际的工作都交由"插件"来完成. maven的每个构建步骤都可以绑定一个或多个插件行为,而且maven为大多数的构建步骤编写并绑定了默认插件. 三套生命周期: clean.default.site clean: 主要目的是清理项目 pre-clean: 执行一些清理前需要完成的工作 clean: 清理上一次构建生成的文件 post-cle

【PMP】PMBOK 笔记 第2章 组织影响和项目生命周期

第2章 组织影响和项目生命周期 总结 本章主要讲了 事业环境因素 组织过程资产 项目类型 干系人 项目生命周期 以上内容会成为之后的组织过程的重要的输入和输出,算是给以后的知识做铺垫. 2.1 组织对项目管理的影响 2.1.1 组织文化与风格 文化规范,包括既有的项目启动和规划方法.可接受的工作执行手段,以及公认的决策制定者或决策者. 组织文化是一种事业环境因素. 2.1.2 组织沟通 2.1.3 组织结构 组织结构是一种事业环境因素,它可能影响资源的可用性和项目的执行方式. 典型的职能型组织是

《网络安全体系结构》一第2章 安全策略与运行生命周期

第2章 安全策略与运行生命周期 网络安全体系结构"策略是一种易于变化的临时信条,必须以圣徒般的热情才能得到贯彻."-莫汉达斯 • K • 甘地(Mohandas K. Gandhi)于1922年3月8日致印度国大党总书记的信 "你执行政策.我来玩政治."-美国副总统丹 • 奎尔(1988-1992)对其助手说,摘录于国际先驱论坛报,巴黎,1992年1月13日 目前,许多安全领域的人士都将安全策略视为不可避免的麻烦.但是,关于安全策略,究竟是什么让我们(包括我自己)充

maven详解之生命周期与插件(二)

插件配置 定义解释:插件目标 当我们了解了maven插件之后,我们发现如果为每一个功能编写一个独立的插件显然是不可取的,因为这些任务背后有很多可以复用的代码,因此,把这些功能聚集在一个插件里,每一个功能我们就称之为一个插件目标. 举个例子: maven-dependency-plugin有十多个目标,每个目标对应了一个功能 分析项目依赖:dependency:analyze 列出项目依赖树:dependency: tree 列出项目所有已解析的依赖:dependency:list POM中插件全

maven生命周期与插件

生命周期 在有关Maven的日常使用中,命令行的输入往往就对应了生命周期,如mvn package就表示执行默认生命周期阶段package.  生命周期概念 Maven的生命周期就是为了对所有的构建过程进行抽象和统一,这个生命周期包含了项目的清理.初始化.编译.测试.打包.集成测试. 验证.部署和站点生成等几乎所有构建步骤.即几乎所有项目的构建,都能映射到这样一个生命周期上.  Maven的生命周期是抽象的,这意味着生命周期本身不做任何实际的工作,在Maven的设计中,实际的任务(如编译源代码)

MAVEN学习笔记之Maven生命周期和插件简介(3)

MAVEN学习笔记之Maven生命周期和插件简介(3) clean compile site三套生命周期相互独立. clean pre-clean 执行清理前的工作 clean 清理上一次构建生成的所有文件 post-clean 执行清理后的工作 compile validate generate-sources process-sources generate-resources process-sources process-resources 复制并处理资源文件,至目标目录,准备打包 co

maven 常用插件

maven插件是用来完成构建任务的.用户可以通过两种方式调用Maven插件. 第一种方式是将插件与生命周期绑定,如命令mvn compile就实现了maven-compiler-plugin的调用目标. 第二种方式是直接在命令行指定要执行的插件,如mvn archetype:generate 就表示调用maven-archetype-plugin. 1.maven-assembly-plugin 用于导出jar包或war包.插件官网:http://maven.apache.org/plugins

《Mavan官方文档》构建生命周期介绍

构建生命周期基础 Maven是以构建生命周期这个核心概念为基础.构建生命周期是指为一个工程进行项目构建和分发的过程. 为了构建一个工程,有必要去学习一系列构建Maven项目的命令,并且POM文件会确保他们能够得到想要的结果. Maven中内置了三个构建生命周期:default,clean和site.default生命周期处理工程的部署,clean生命周期处理工程的清理,而site生命周期则负责创建工程的站点文档. 构建生命周期是由阶段组成的 三个构建生命周期都是由一系列不同的构建阶段组成,每一个

Docker Runc容器生命周期详细介绍_docker

Docker Runc容器生命周期 容器的生命周期涉及到内部的程序实现和面向用户的命令行界面,runc内部容器状态转换操作.runc命令的参数定义的操作.docker client定义的容器操作是不同的,比如对于docker client的create来说, 语义和runc就完全不同,这一篇文章分析runc的容器生命周期的抽象.内部实现以及状态转换图.理解了runc的容器状态转换再对比理解docker client提供的容器操作命令的语义会更容易些. 容器生命周期相关接口 最基本的require