关于Maven的生命周期与命令

工作的时候对Maven的install和package的使用产生了一些疑问,干脆将Maven的整个生命周期都复习总结一遍。

先看下在IDEA中Maven的生命周期节点:

clean

clean是清理命令,相当于执行了 mvn clean 命令。

清理当前工程编译后生成的文件,也就是删除整个target目录。

validate

相当于执行了 mvn validate 命令,对工程进行基础验证,如工程结构、pom、资源文件等是否正确,比如验证项目的目录结构是否规范,是否抱哈诺徐的源代码和资源文件等。

这一阶段的目的是为了确保项目的基础设置和配置是正确的,以便能够顺利执行后续的编译、测试、打包等构建任务。

compile

相当于执行了 mvn compile 编译命令, 作用是对项目中的源代码进行编译,把 src/main/java 目录下的java文件变异成.class文件,并把编译生成的.class文件放到target/classes目录下。

test

mvn test 命令,编译并执行了 src/test/java/目录下的所有测试用例。通常意味着使用了 @Test 注解标记的方法,以验证代码的正确性和稳定性。

package

将当前的项目打包,根据pom中的标签来判断打成什么类型的包。

项目打包指的是将项目的源代码、配置文件和依赖库等资源整合为一个可执行的文件或归档文件。打包完成的文件通常会被放置在target目录下,方便本地部署和项目运行。

verify

验证工程所有代码、配置进行是否正确,以及类中代码的语法检测等。

因为经过了编译打包,可能中间会出错,所以再检查一遍。

install

将当前的项目工程打包,并安装到本地仓库,以便其他人可以通过引入该项目的信息,也就是在pom中使用 dependency 标签来使用该项目。

install与package的区别在于,install会将项目打包好,再安装加入到本地仓库,而package只会将项目打包,在target文件夹下生成可执行文件,之后不会做其他操作

site

指的是生成项目的站点文档,其中包括项目概述、源码测试覆盖率报告、开发者列表等信息。不过站点文档的生成需要进行一些额外的配置和操作。

deploy

这个命令是将当前工程对应的包或者构建出来的产物上传到远程仓库中去,以便他人可以从该仓库获取并使用这些包。远程仓库可以是公共的残酷,比如说Maven中央仓库,也可以是私有的仓库,比如企业内部搭建的私服。

放一个生命周期示意图:

[Maven]关于Maven的生命周期与命令的更多相关文章

  1. 笔记:Maven 生命周期与命令行详解

    Maven 拥有三套相互独立的生命周期,分别是 clean.default和site,clean 生命周期的目的是清理项目,default 生命周期的目的是构建项目,而site生命周期的目的是建立项目 ...

  2. maven详解之生命周期与插件

    Maven是一个优秀的项目管理工具,它能够帮你管理编译.报告.文档等. Maven的生命周期: maven的生命周期是抽象的,它本身并不做任何的工作.实际的工作都交由"插件"来完成 ...

  3. Maven 的插件和生命周期的绑定

    一.Maven 的生命周期 Maven 的生命周期是对所有的构建过程进行抽象和统一.Maven 的生命周期是抽象的,这意味着生命周期本身不做任何实际的工作,生命周期只是定义了一系列的阶段,并确定这些阶 ...

  4. maven的仓库、生命周期与插件

    一.仓库 统一存储所有Maven项目共享的构建的位置就是仓库. 仓库分为本地仓库和远程仓库.远程仓库又分为中央仓库(中央仓库是Maven核心自带的远程仓库),伺服(另一种特殊的远程仓库,为节省宽带和时 ...

  5. maven的核心概念——生命周期

    第十一章生命周期 11.1 什么是Maven的生命周期 ●Maven生命周期定义了各个构建环节的执行顺序,有了这个清单,Maven就可以自动化的执行构建命令了. ●Maven有三套相互独立的生命周期, ...

  6. maven依赖管理,生命周期,插件

    依赖配置 依赖指当前项目运行所需的jar,一个项目可以设置多个依赖,在pom.xml中格式如下 <!--设置当前项目所依赖的所有jar--> <dependencies> &l ...

  7. maven第7章生命周期和插件

    maven插件用到哪些思想? 7.7 从命令行调用插件 目标前缀和插件前缀是一个意思. 在本地搭建maven环境,熟悉maven的环境.

  8. maven build的常用生命周期

    常用的maven build goals: validate - validate the project is correct and all necessary information is av ...

  9. Maven入门 项目的生命周期&pom.xml配置&仓库

  10. Docker 容器生命周期管理命令

    docker run 命令 -d: 后台运行容器,并返回容器ID: -i: 以交互模式运行容器,通常与 -t 同时使用: -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用: --name= ...

随机推荐

  1. echarts折线图美化(颜色渐变、背景透明、隐藏坐标轴)

    echarts折线图美化(颜色渐变.背景透明.隐藏坐标轴) https://blog.csdn.net/Changeable0127/article/details/81333559?utm_medi ...

  2. Liunx运维(二)-文件与目录操作

    文档目录: 一.pwd:显示当前位置 二.cd:切换目录 三.tree:树形结构显示目录 四.mkdir 创建目录 五.touch:创建空文件或改变文件时间戳 六.ls:显示目录下内容相关属性信息 七 ...

  3. docker 资源限制之 cgroup

    1. Liunx cgroup 使用 namespace 隔离运行环境,使得进程像在独立环境中运行一样.然而,仅有隔离环境还不够,还得限制被 namespace 隔离的资源.否则,namespace ...

  4. RL 基础 | 如何搭建自定义 gym 环境

    需实现的方法: __init__(self): 需定义 action_space 和 observation_space,使用 space.Box 之类来表示(from gym import spac ...

  5. [转帖]sqluldr2 oracle直接导出数据为文本的小工具使用

    https://www.cnblogs.com/ocp-100/p/11098373.html 近期客户有需求,导出某些审计数据,供审计人进行核查,只能导出成文本或excel格式的进行查看,这里我们使 ...

  6. [转帖]如何在Linux系统中使用命令发送邮件

    https://zhuanlan.zhihu.com/p/96897532 Linux系统更多的被用来做服务器系统,在运维的过程中难免我们需要编写脚本监控一些指标并定期发送邮件. 本教程将介绍如何在L ...

  7. 【转帖】MySQL索引

    数据表如何用索引快速查找 索引是 排好序的快速查找的数据结构 索引存储在文件系统中 索引的文件存储形式与存储引擎有关 索引数据结构:可以是二叉树.红黑树.Hash表.B-Tree.B+Tree 1.二 ...

  8. [转帖]ElasticSearch 最全详细使用教程

    https://zhuanlan.zhihu.com/p/449555826?utm_source=weibo&utm_medium=social&utm_oi=27124941455 ...

  9. [转帖]Linux系统中的Page cache和Buffer cache

    Free命令显示内存 首先,我们来了解下内存的使用情况: Mem:表示物理内存统计 total:表示物理内存总量(total = used + free) used:表示总计分配给缓存(包含buffe ...

  10. 【转帖】Seccomp、BPF与容器安全

    语音阅读2022-06-30 20:26 本文详细介绍了关于seccomp的相关概念,包括seccomp的发展历史.Seccomp BPF的实现原理已经与seccomp相关的一些工具等.此外,通过实例 ...