【Maven】P4 生命周期与插件

news2024/11/17 21:42:19

Maven 生命周期与插件

  • 项目构建生命周期
    • clean 生命周期
    • default 构建生命周期
    • site 构建生命周期
  • 插件


项目构建生命周期

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

Maven 对构建生命周期划分为3套:

  1. clean:清理工作;
  2. default:核心工作,即 compile -> test -> package -> install;
  3. 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					测试			使用合适的单元测试框架运行调试
prepare-package			准备打包			在实际打包之前,执行任何的必要的操作为打包做准备
package					打包			将编译后的代码打包成可分发格式的文件
pre-integration-test	集成测试前		在执行集成测试前进行必要的动作,比如,搭建需要的环境
integration-test		集成测试			处理和部署项目到可以运行集成测试环境中
post-integration-test	继承测试后		在执行集成测试完成后进行必要的动作,比如,清理集成测试环境
verify					验证			运行任意的检查来验证项目包有效且达到质量标准
install 				安装			安装项目包到本地仓库,这样项目包可以用作其他本地项目的依赖
deploy					部署			将最终的项目包复制到远程仓库中与其他开发者和项目共享	

site 构建生命周期

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

插件

每一个小的生命周期都对应着一个插件;插件与生命周期绑定,在执行到对应的生命周期时,执行对应的插件功能

<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>

到 apache plugins 里查看:https://maven.apache.org/plugins/maven-source-plugin/

在这里插入图片描述

goal 中 jar 含义是对 main 打包;
若更换成 test-jar,则是对 test 打包;

在这里插入图片描述

phase 中含义是在 generate-test-resources 时触发

来源于黑马程序员课程,仅用于学习

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

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

相关文章

1.4 条件概率与乘法公式

1.4.1 条件概率在实际问题中&#xff0c;除了直接考虑某事件 B 发生的概率P(B)外,有时还会碰到这样的问题&#xff0c;就是“在事件A 已经发生的条件下,事件B 发生的概率”。一般情况下,后概率与前一概率不同&#xff0c;为了区别,我们常把后者称为条件概率&#xff0c;记为P(B…

一文带你入门angular(中)

一、angular中的dom操作原生和ViewChild两种方式以及css3动画 1.原生操作 import { Component } from angular/core;Component({selector: app-footer,templateUrl: ./footer.component.html,styleUrls: [./footer.component.scss] }) export class FooterComponent {flag: b…

tftp、nfs 服务器环境搭建

目录 一、认识 tftp、nfs 1、什么是 tftp&#xff1f; 2、什么是 nfs&#xff1f; 3、tftp 和 nfs 的区别 二、tftp的安装 1、安装 tftp 服务端 2、配置 tftp 3、启动 tftp 服务 三、nfs 的安装 1、安装 nfs 服务端 2、配置 nfs 3、启动 nfs 服务 一、认识 tftp、…

3D目标检测(毕业设计+代码)

概述 3d Objectron是一种适用于日常物品的移动实时3D物体检测解决方案。它可以检测2D图像中的物体&#xff0c;并通过在Objectron数据集上训练的机器学习&#xff08;ML&#xff09;模型估计它们的姿态. 下图为模型训练后推理的结果&#xff01; ​ 算法 我们建立了两个机器…

web项目的初始化

Tomcat 安装配置 Tomcat 官方站点&#xff1a;Apache Tomcat - Welcome! 。 安装 得到下载的安装包&#xff08;一般是 zip 文件&#xff09;&#xff0c;并解压到你指定的目录&#xff08;建议不要解压在 c 盘&#xff09;&#xff1b;&#xff08;这里以 windows10 系统为例…

网上电子商城的设计与实现

技术&#xff1a;Java、JSP等摘要&#xff1a;21 世纪以来&#xff0c;人类经济高速发展&#xff0c;人们的生活发生了日新月异的变化&#xff0c;特别是计算机的应用及普及到经济和社会生活的各个领域。在消费领域&#xff0c;网上购物已经成为大众所接受的一种新型的消费方式…

javaEE初阶 — 如何用 HTML 编写一个简易代码

文章目录html1. 建立一个文本文档的方式编写2. 标签的方式编写3. 补充&#xff1a;更改后缀的方式4. 如何使用 VS Code 来编写一个 html 代码4.1 VS Code 的下载4.2 VS Code 的使用html html 用来描述网页的骨架&#xff0c;这是一个非常有特点的 标签化 的语言。 下面来写一个…

分布式对象存储——Apache Hadoop Ozone

前言 本文隶属于专栏《大数据技术体系》&#xff0c;该专栏为笔者原创&#xff0c;引用请注明来源&#xff0c;不足和错误之处请在评论区帮忙指出&#xff0c;谢谢&#xff01; 本专栏目录结构和参考文献请见大数据技术体系 1. 概述 Ozone是Apache Hadoop项目的子项目&#xf…

MySQL下载安装以及环境配置教程

目录MySQL 下载MySQL 安装配置环境变量MySQL 下载 进入官方网站 https://www.mysql.com/ 点击 DOWNLOADS 进入下载页面 免费版本点击下方的 MySQL Community (GPL) Downloads 点击 MySQL Community Server 点击 Go to Download Page 进入下载页面 点击 Download 点击 No thank…

【逐步剖C】-第九章-字符串函数和内存函数

前言&#xff1a;第一部分先简单介绍一下常用字符串函数和内存函数&#xff0c;第二部分再重点介绍重要函数的的模拟实现。若日后再发现某些好用或者有意思的库函数&#xff0c;都会在本文中进行更新。 一、常用库函数介绍 1. strlen &#xff08;1&#xff09;函数声明&…

C语言-基础了解-11-C作用域规则

C作用域规则 一、C作用域规则 任何一种编程中&#xff0c;作用域是程序中定义的变量所存在的区域&#xff0c;超过该区域变量就不能被访问。C 语言中有三个地方可以声明变量&#xff1a; 1、在函数或块内部的局部变量 2、在所有函数外部的全局变量 3、在形式参数的函数参数定…

Oracle Primavera P6 学习地图(Updating)

目录P6介绍及使用P6异常处理P6部署配置维护P6集成及开发P6集成及开发为了方便大家更好的针对查询我博客中的内容&#xff0c;特针对P6不同方面进行简要分类&#xff0c;如在使用P6过程中有碰到任何问题&#xff0c;欢迎通过如下方式与我取得联系(查询联系方式) P6介绍及使用 P…

什么是EventLoop?怎么测试Node或页面的性能

Event Loop 机制大家应该都有了解。本文利用 EventLoop 去做一个有趣的检测node或页面性能的代码&#xff0c;顺便介绍了一下EventLoop&#xff0c;希望对大家有所帮助&#xff01; Event Loop Event Loop 机制大家应该都有了解。我先重复总结一下。 Node.js 和 Javascript 的…

1.6 独立性

1.6.1 事件的独立性1.两个事件的独立性中任意两个事件都相互独立、則称 A,.A.&#xff0c;,A.两两独立&#xff0c;显然•若&#xff0c;个事件相互独立,則一定两两独立,反之,不一定成立【例 1.251 将一个均匀的正四面体的第一面染上红、黄、蓝三色&#xff0c;将其他三百多别染…

C语言实现扫雷【详细讲解+全部源码】

扫雷的实现1. 配置运行环境2. 扫雷游戏的初步实现2.1 建立扫雷分布模块2.2 创建名为board的二维数组并进行棋盘初始化2.3 打印棋盘3. 接下来该讨论的事情3.1 布置雷3.2 排查雷3.3 统计坐标周围有几个雷4. 完整扫雷游戏的实现4.1 game.h4.2 game.c4.3 扫雷.c1. 配置运行环境 本游…

你相信吗?用ChatGPT写井字棋游戏仅需几分钟

井字棋 我们先实现一个最基本的使用控制台交互的井字棋游戏。 为了保持代码整洁&#xff0c;方便后续扩展&#xff0c;我们使用类Board来实现棋盘。除了常规的初始化方法__init__和字符串方法__str__&#xff0c;我们还要判断游戏的胜负、棋子位置的合理性。 在main中&…

扩展WSL2虚拟硬盘的大小

扩展WSL2虚拟硬盘的大小 1、在 Windows PowerShell 中终止所有 WSL 实例 wsl --shutdown2、查看 WSL 实例运行状态&#xff0c;确认关闭&#xff0c;并记住发行版的名称 wsl -l -v如果没有更改移动过发行版安装包位置&#xff0c;那么可以通过以下方法查找到发行版的安装包位…

[算法]选择排序

目录 1、选择排序的实现 2、例子 3、代码实现 4、时间复杂度和空间复杂度 5、选择排序的缺点——不稳定性 1、选择排序的实现 选择排序就是每一轮选择最小的元素直接交换到左侧。这种排序的最大优势&#xff0c;就是省去了多余的元素交换。 2、例子 原始数组和选择排序的…

NSIS 多语言安装界面

NSIS默认的打包界面多语言不太好用&#xff0c;因为界面不能跟着切换语言上面的文字也随着切换&#xff0c;所以只能是考虑自定义的方法解决这个问题 本人采用duilib与NSIS结合的方法&#xff0c;效果如下所示&#xff1a; ;获取系统默认的语言 System::Call Kernel32::Ge…

仪表放大器放大倍数分析-运算放大器

仪表放大器是一种非常特殊的精密差分电压放大器&#xff0c;它的主要特点是采用差分输入、具有很高的输入阻抗和共模抑制比&#xff0c;能够有效放大在共模电压干扰下的信号。本文简单分析一下三运放仪表放大器的放大倍数。 一、放大倍数理论分析 三运放仪表放大器的电路结构…