关于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. Java21 + SpringBoot3集成easy-captcha实现验证码显示和登录校验

    目录 前言 相关技术简介 easy-captcha 实现步骤 引入maven依赖 定义实体类 定义登录服务类 定义登录控制器 前端登录页面实现 测试和验证 总结 附录 使用Session缓存验证码 前 ...

  2. C# WPF侧边栏导航菜单(Dropdown Menu)

    时间如流水,只能流去不流回! 点赞再看,养成习惯,这是您给我创作的动力! 本文 Dotnet9 https://dotnet9.com 已收录,站长乐于分享dotnet相关技术,比如Winform.W ...

  3. AHB2APB设计

    AHB2APB Bridge位置 AHB子系统时钟在200Mhz左右,APB时钟在几十Khz到几十Mhz 所以要进行跨时钟域处理,从AHB高时钟频率转到APB低时钟频率 AHB2APB Bridge规 ...

  4. java - 类属性 初始化的三种形式及顺序

    package chushihua; public class Hello { public static String name = getValue("属性"); { name ...

  5. [转帖]加速拥抱支持开源生态 | OceanBase 开源版3.1.1正式发布

    https://www.oceanbase.com/news/accelerated-embrace-and-support-of-open-source-ecosystem-oceanbase-op ...

  6. [转帖]实用小技能:一键获取Harbor中镜像信息,快捷查询镜像

    [摘要]一键获取Harbor中的镜像列表,无需登录harbor UI,也可批量下载镜像到本地并保存为tar包.本文已参与「开源摘星计划」,欢迎正在阅读的你加入.活动链接:https://github. ...

  7. [转帖]jmeter_采样器sampler简介

    1.取样器介绍 取样器是用来模拟用户操作的,向服务器发送请求以及接收服务器的响应数据. 取样器是在线程组内部的元件,也就是说取样器只能在线程组中添加. 取样器(Sampler)是性能测试中向服务器发送 ...

  8. [转帖]一文浅析Nginx线程池!

    https://zhuanlan.zhihu.com/p/616500765     Nginx通过使用多路复用IO(如Linux的epoll.FreeBSD的kqueue等)技术很好的解决了c10k ...

  9. [转贴]中国铁塔发布2020年中期财报:营收、利润双增,高效支撑5G规模建设

      中国铁塔发布2020年中期财报:营收.利润双增,高效支撑5G规模建设 https://tech.sina.com.cn/roll/2020-08-11/doc-iivhuipn8046256.sh ...

  10. canvas操作图片像素点保证你看的明明白白

    开场白 今天遇到一个场景:就是更改一个图片的颜色: 当听到这个.我直呼好家伙:这个是要上天了呀. 但是仔细一思考:借助canvas好像也能实现: 于是下来研究了一下,并不难: 我们下面来看看怎么实现的 ...