项目构建生命周期与插件

news2024/12/23 13:45:33

项目构建生命周期描述的是一次构建过程经历了多少个事件。

 maven对项目构建的生命周期划分为3套:

        clean:清理工作。

        default:核心工作,例如编译、测试、打包、部署等。

        site:产生报告,发布站点等。

clean生命周期

        pre-clean:执行一些需要在clean之前完成的工作。

        clean:移除所有上一次构建生成的文件。

        post-clean:执行一些需要在clean之后立刻完成的工作。

default构建生命周期

⚫ validate(校验) 校验项目是否正确并且所有必要的信息可以完成项目的构建过程。
⚫ initialize(初始化) 初始化构建状态,比如设置属性值。
⚫ generate-sources(生成源代码) 生成包含在编译阶段中的任何源代码。
⚫ process-sources(处理源代码) 处理源代码,比如说,过滤任意值。
⚫ generate-resources(生成资源文件) 生成将会包含在项目包中的资源文件。
⚫ process-resources (处理资源文件) 复制和处理资源到目标目录,为打包阶段最好准备。
compile (编译) 编译项目的源代码。
⚫ process-classes(处理类文件) 处理编译生成的文件,比如说对Java class文件做字节码改善优化。
⚫ generate-test-sources(生成测试源代码) 生成包含在编译阶段中的任何测试源代码。
⚫ process-test-sources(处理测试源代码) 处理测试源代码,比如说,过滤任意值。
⚫ generate-test-resources(生成测试资源文件) 为测试创建资源文件。
⚫ process-test-resources(处理测试资源文件) 复制和处理测试资源到目标目录。
test-compile (编译测试源码) 编译测试源代码到测试目标目录.
⚫ process-test-classes(处理测试类文件) 处理测试源码编译生成的文件。
test (测试) 使用合适的单元测试框架运行测试(Juint是其中之一)。
⚫ prepare-package(准备打包) 在实际打包之前,执行任何的必要的操作为打包做准备。
package (打包) 将编译后的代码打包成可分发格式的文件,比如JAR、WAR或者EAR文件。
⚫ pre-integration-test(集成测试前) 在执行集成测试前进行必要的动作。比如说,搭建需要的环境。
⚫ integration-test(集成测试) 处理和部署项目到可以运行集成测试环境中。
⚫ post-integration-test(集成测试后) 在执行集成测试完成后进行必要的动作。比如说,清理集成测试环境。
⚫ verify (验证) 运行任意的检查来验证项目包有效且达到质量标准。
install (安装) 安装项目包到本地仓库,这样项目包可以用作其他本地项目的依赖。
⚫ deploy(部署) 将最终的项目包复制到远程仓库中与其他开发者和项目共享。

 site构建生命周期

⚫ pre-site 执行一些需要在生成站点文档之前完成的工作
⚫ site 生成项目的站点文档
⚫ post-site 执行一些需要在生成站点文档之后完成的工作,并且为部署做准备
⚫ site-deploy 将生成的站点文档部署到特定的服务器上

插件

插件与生命周期内的阶段绑定,在执行到对应生命周期时执行对应的插件功能。

默认maven在各个生命周期上绑定有预设的功能。

通过插件可以自定义其他功能。

例如:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-source-plugin</artifactId>
            <version>2.2.1</version>
            <executions>
                <execution>
                    <goals>
                        <goal>jar</goal>
                    </goals>
                    <phase>generate-test-resources</phase>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/53837.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

工具-Obsidian生产力工具,安装第三方插件(GitHub)教程,以安装Syntax Highlight(代码高亮)为例

文章目录1、去GitHub上找到你需要的插件2、下载到本地3、在obsidian中新建文件4、将下载好的GitHub文件放置文件夹5、obsidian中设置6、插入代码块实例1、去GitHub上找到你需要的插件 在GitHub的搜索框中&#xff0c;直接搜索obsidian 插件名&#xff0c;obsidianSyntax Highl…

Halcon 图片分割 米粒分水岭(高斯滤波,区域距离计算,分水岭处理)

资源&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1kmxdMk67E-7QCsG5mKnc7A 提取码&#xff1a;555s 图片 代码 * 1.读取并显示图片 ************************************* dev_close_window () read_image (Image, ./img.png) get_image_size (Image, Width, He…

JVM垃圾回收

JVM 快速开始&#xff1a; 请谈谈你对JVM 的理解&#xff1f;java8 的虚拟机有什么更新&#xff1f; 什么是OOM &#xff1f;什么是StackOverflowError&#xff1f;有哪些方法分析&#xff1f; JVM 的常用参数调优你知道哪些&#xff1f; 内存快照抓取和MAT分析DUMP文件知道…

Android databinding的接入使用与详解(一)

一、介绍 DataBinding 是Google Android组件框架&#xff0c;管理view和data之间进行绑定。DataBinding主要管理数个布局文件&#xff0c;这样我们就不用去实例化layout的view。直接通过DataBindingUitl来完成初始化。 这样可以精简代码&#xff0c;也减少工作量&#xff0c;避…

2022双十二有哪些值得入手的数码好物?值得入手的数码好物推荐

双十二快到了&#xff0c;不少人都会选择在这个时候入手数码产品&#xff0c;但又不知道有哪些值得入手。下面&#xff0c;我来给大家推荐几款实用性高&#xff0c;入手性强的数码好物&#xff0c;感兴趣的一起来看看吧。 一、南卡小音舱蓝牙耳机 推荐理由&#xff1a;蓝牙5.…

带你初识JSP(JAVA服务器页面)

文章目录前言第一个 JSP 程序什么是Java Server Pages?为什么使用JSP&#xff1f;JSP的优势配置Java开发工具&#xff08;JDK&#xff09;设置Web服务器&#xff1a;Tomcat设置 CLASSPATH 环境变量JSP 结构JSP 处理JSP 生命周期JSP编译JSP初始化JSP执行JSP清理前言 JSP 与 PH…

ABAP CLEAR REFRESH FREE 说明(刘欣)

本文仔细测试总结了ABAP中的clear、refresh、free&#xff0c;因为很多时候程序的BUG就是出现在变量没有清理干净&#xff0c;希望整理一个定式出来以后少出BUG。 用clear、refresh、free对带表头的表执行的测试结果如下表&#xff1a; 看起来&#xff0c;最好的避免这些清空命…

Oracle11g安装

参考教程 Oracle11g安装配置详细教程 oracle11g安装步骤详细图文教程 但是这里的用户名如果是以system的话&#xff0c;密码错误 Oracle默认账号密码&#xff1a; &#xff08;1&#xff09;普通用户&#xff1a; SCOTT &#xff08;密码&#xff1a;tiger&#xff09; &…

Day17--购物车页面-商品列表-封装NumberBox

提纲挈领&#xff1a; 官方文档提供了uni-number-box组件 文档内容&#xff1a; 我的操作&#xff1a; 1》修改 my-goods.vue 组件的源代码&#xff0c;在类名为 goods-info-box 的 view 组件内部渲染 NumberBox 组件的基本结构&#xff1a; 2》美化其样式 *****************…

基于最小均方误差linear minimum mean square error(LMMSE)插值算法的图像超分辨重构研究-附Matlab代码

⭕⭕ 目 录 ⭕⭕✳️ 一、引言✳️ 二、图像复原基本原理✳️ 三、基于多通道LMMSE图像复原法✳️ 3.1 最小均方误差LMMSE插值理论✳️ 3.2 理论公式对应的Matlab关键代码✳️ 四、实验验证✳️ 五、参考文献✳️ 六、Matlab程序获取与验证✳️ 一、引言 图像是一种表达信息的…

进程与线程的相爱相杀

✨✨hello&#xff0c;愿意点进来的小伙伴们&#xff0c;你们好呐&#xff01; &#x1f43b;&#x1f43b;系列专栏&#xff1a;【JavaEE初阶】 &#x1f432;&#x1f432;本篇内容&#xff1a;详解进程与线程 &#x1f42f;&#x1f42f;作者简介:一名现大二的三非编程小白&…

Linux文件系统

Linux文件系统 文章目录Linux文件系统1.对文件系统的理解1.1 文件系统当中的缓冲区1.2 文件系统当中的inode1.3 文件属性与文件数据分开存放原理2.对软硬链接的理解扩展&#xff1a;对文件三时间的理解1.对文件系统的理解 1.1 文件系统当中的缓冲区 我们来看看下面这段代码&a…

基于K8s构建Jenkins持续集成平台(部署流程)(转了一点)

转载至&#xff1a;https://blog.csdn.net/m0_59430185/article/details/123394853 一、传统Jenkins的Master-Slave方案的缺陷 Master节点发生单点故障时&#xff0c;整个流程都不可用了 每个 Slave节点的配置环境不一样&#xff0c;来完成不同语言的编译打包等操作&#xff0…

【Uni-App】点击分享,生成海报带二维码,保存到本地图片

目录一&#xff1a;需求二&#xff1a;分析三&#xff1a;准备工作1.qrcode准备2.并且在main.js去挂载四&#xff1a;页面构建1.html2.data3.js一&#xff1a;需求 1.产品需要这个商品&#xff0c;必须分享才有购买资格 2.一共三点&#xff0c;有海报&#xff0c;有二维码&…

k8s安装3节点集群Fate v1.8.0

集群配置信息 3节点配置信息如下图&#xff1a; 当kubefate最新版是1.9.0时&#xff0c;依赖的k8s和ingress-ngnix版本如下&#xff1a; Recommended version of dependent software: Kubernetes: v1.23.5 Ingress-nginx: v1.1.3 升级K8S到1.23.5 参考博客 https://blog.c…

HarmonyOS应用API手势方法-SwipeGesture

描述&#xff1a;用于触发滑动事件&#xff0c;滑动最小速度为100vp/s时识别成功。 Api&#xff1a;从API Version 8开始支持 接口&#xff1a;SwipeGesture(value?: { fingers?: number; direction?: SwipeDirection; speed?: number }) 参数&#xff1a; SwipeDirecti…

代码随想录刷题记录 day32无重叠区间 划分字母区间 合并区间

代码随想录刷题记录 day32无重叠区间 划分字母区间 合并区间 435. 无重叠区间 思想 其实要换个角度想&#xff0c;存放下尽可能多的区间&#xff0c;就是移除的最少的区间。可以按照左右边界进行排序。 1.如果按照右边界进行排序&#xff0c;从左往右遍历&#xff0c;选择右…

数字化门店转型| 舞蹈室管理系统| 门店小程序开发教程

很多拥有跳舞天赋的孩子从小家长就送到专业的舞蹈培训机构进行训练&#xff0c;即使成年也可以学&#xff0c;近些年来各种偶像节目繁多&#xff0c;也使得舞蹈行业市场规模增加&#xff0c;同时各个城市的舞蹈工作室也在逐年增加&#xff0c;线上各种宣传信息也比较多。 同时&…

【重磅】2022年CCF推荐期刊目录 (拟定版) 已发布~

重磅&#xff01;CCF推荐国际学术会议和期刊目录-2022(拟定版)已发布&#xff0c;一起看看有哪些新调整吧&#xff1a; MICCAI 首次被收录&#xff0c;空降B类会议&#xff1b; PRCV 首次被收录&#xff0c;空降C类会议&#xff1b; NAACL 从C类升级到B类会议&#xff1b; …

java语言【#87. 矩形的面积与周长】(已通过)

题目描述 ​ 对于一个给定长和宽的矩形&#xff0c;输出它的周长和面积。 输入 ​ 一行两个小数 a 和 b 表示矩形的长和宽。&#xff08;0.0≤a,b≤100.0&#xff09; 输出 ​ 第一行是矩形的周长 ​ 第二行是矩形的面积 ​ 结果保留两位小数 样例输入 3.1 4.1样例输出 1…