理解maven命令package、install、deploy的联系与区别

https://wenku.baidu.com/view/8ff2ce94591b6bd97f192279168884868762b8e7

我们在用maven构建java项目时,最常用的打包命令有mvn package、mvn install、deploy,这三个命令都可完成打jar包或war(当然也可以是其它形式的包)的功能,但这三个命令还是有区别的。下面通过分别执行这三个命令的输出结果,来分析各自所执行的maven的生命周期。

mvn clean package

mvn clean install

mvn clean deploy(忽略最后的BUILD FAILURE)

通过三个命令的输出我们可以看出三者的区别在于包函的maven生命的阶段和执行目标(goal)不同。在我的上一篇文章https://blog.csdn.net/zhaojianting/article/details/80321488 中介绍了maven的生命周期和各种插件,不明白的请参考此博文。maven生命周期(lifecycle)由各个阶段组成,每个阶段由maven的插件plugin来执行完成。生命周期(lifecycle)主要包括clean、resources、complie、install、pacakge、testResources、testCompile、deploy等,其中带test开头的都是用业编译测试代码或运行单元测试用例的。

仔细查看上面的输出结果截图,可以发现,

  • mvn clean package依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)等7个阶段。
  • mvn clean install依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install等8个阶段。
  • mvn clean deploy依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install、deploy等9个阶段。

由上面的分析可知主要区别如下,

  • package命令完成了项目编译、单元测试、打包功能,但没有把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库
  • install命令完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库,但没有布署到远程maven私服仓库
  • deploy命令完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库

原文地址:https://www.cnblogs.com/shoshana-kong/p/11031407.html

时间: 2024-07-31 11:30:11

理解maven命令package、install、deploy的联系与区别的相关文章

maven 打包命令package,install, deploy 的区别

maven 打包命令区别 mvn clean package 依次执行了clean, resource, compile, testResources, testCompile, test, jar(打包)等7个阶段 package命令完成了项目编译,单元测试, 打包功能, 但没有把打好的包部署到本地maven仓库和远程的maven私服仓库 mvn clean install 依次执行了clean, resource, compile, testResources, testCompile, t

Maven 打包 package install deploy 区别

一.打包区别mvn package:打包到本项目,一般在项目target目录下.mvn install:打包到本地仓库,如果没设置Maven本地仓库,一般在用户/.m2目录下.mvn deploy:打包上传到远程仓库,如:私服nexus等,需要配置pom文件.二.打包过程mvn clean package依次执行:clean.resources.compile.testResources.testCompile.test.jar(打包).mvn clean install依次执行:clean.r

Maven命令package、install和deploy的联系跟区别

mvn clean package 依次执行了 clean.resources.compile.testResources.testCompile.test.jar(打包)等7个阶段. mvn clean install 依次执行了 clean.resources.compile.testResources.testCompile.test.jar(打包).install等8个阶段. mvn clean deploy 依次执行了 clean.resources.compile.testResou

Maven 打包 package install deploy-项目构建的理解

项目的构建理解 构建工具能够帮我们自动化构建过程,从清理.编译.测试到生成报告,再到打包和部署.我们只需要输入简单的命令(如 mvn clean install),Maven 就会帮我们处理繁琐的任务:它最大化的消除了构建的重复,抽象了构建生命周期,并且为绝大部分的构建任务提供了已实现的插件.比如说测试,我们只需要遵循 Maven 的约定编写好测试用例,当我们运行构建的时候,这些测试便会自动运行.除此之外,Maven 能帮助我们标准化构建过程.在 Maven 之前,十个项目可能有十种构建方式,但

maven package install deploy区别

package 命令完成了项目编译.单元测试.打包功能,但没有把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库install 命令完成了项目编译.单元测试.打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库,但没有布署到远程maven私服仓库deploy 命令完成了项目编译.单元测试.打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库 原文地址:http

maven命令学习-发布上传jar包-deploy

Maven学习六之利用mvn deploy命令上传包 转http://blog.csdn.net/woshixuye/article/details/8133050 mvn:deploy在整合或者发布环境下执行,将最终版本的包拷贝到远程的repository,使得其他的开发者或者工程可以共享. 以将ojdbc14传到nexus中的thirdparty为例 一 配置settings.xml 因为nexus是需要登陆操作,当然可以通过配置免登陆,这是后话. 在settings.xml的<server

Maven 命令格式及一些常用命令

Maven自身指定定义了一套对项目进行编译,测试,打包,运行,部署等工作的抽象.Maven自己是不实际负责这些工作的,而是把它们交给了插件.所以Maven命令的实际工作执行者是各种各样的插件. 要了解Maven命令,还得知道Maven生命周期的概念.Maven有三套独立的生命周期:clean, default和site.每个生命周期又有不同的阶段.这三个生命周期之间是互相独立的,调用一个不会影响另一个.但是生命周期内部各个阶段之间却是有前后依赖关系:必须先执行前面的阶段,才可以执行下一阶段. c

深入理解maven构建生命周期和各种plugin插件

深入理解maven构建生命周期和各种plugin插件 本博文不会长篇大论的讨论生命周期的概念,而是从各种plugin的实际功能和应用出发,来讨论maven的实际应用,说得通透一点,生命周期(lifecycle)可以理解成由各种plugin按照一定的顺序执行来完成java项目清理.编译.打包.测试.布署等整个项目的流程的一个过程. 生命周期(lifecycle)由各个阶段组成,每个阶段由maven的插件plugin来执行完成.生命周期(lifecycle)主要包括clean.resources.c

理解maven的核心概念

原文链接:http://www.cnblogs.com/holbrook/archive/2012/12/24/2830519.html 好久没进行java方面的开发了,最近又完成了一个java相关的任务,顺便重新体会了 maven 这一利器. 在使用过程中发现以前对maven的理解不够深入,借此机会重新梳理了一下maven的核心概念.相信理解了这些核心概念, 即使长时间不使用,以后再重新上手也会非常容易. 本文以类图的方式,介绍maven核心的12个概念以及相互之间的关系. Table of