`
kfcman
  • 浏览: 395554 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

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

 
阅读更多

https://blog.csdn.net/zhaojianting/article/details/80324533

 

我们在用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私服仓库  
分享到:
评论

相关推荐

    Maven的install与deploy目标:构建过程中的微妙差异

    3. **标准化构建过程**:Maven定义了一系列的标准生命周期阶段,如`clean`、`compile`、`test`、`package`和`install`等,这些阶段可以轻松地通过命令行触发。 4. **插件和目标**:Maven拥有丰富的插件生态系统,每...

    maven 常用命令集合

    maven 常用命令集合 Maven 是一个基于项目对象模型(Project Object Model,POM)的项目管理工具,主要用于 Java 项目的构建、测试和部署。Maven 的强大之处在于其提供了一种标准化的方式来构建、测试和部署项目,...

    eclipse下几个简单maven命令

    本篇文章将详细讲解在Eclipse环境下如何使用几个基本的Maven命令,这些命令对于日常开发和部署工作至关重要。 1. **clean**: Maven的`clean`目标是用来清理项目生成的输出物,如编译后的class文件、测试结果、打包...

    java开发maven命令详解

    对于初学者来说,理解Maven的基本命令及其用法至关重要。 #### 1. `mvn -v` 用于显示当前使用的Maven版本和其他相关信息,如Java版本、操作系统等。这在调试问题时非常有用,因为可以确保所用的环境与期望的一致。...

    maven常用命令以及以个测试项目

    Maven的生命周期分为几个阶段,如compile、test、package、install、deploy等,你可以直接执行这些阶段,例如`mvn install`就包含了compile、test和package阶段。 ### Maven测试项目 在“test”这个文件中,通常...

    maven常用命令

    Maven 常用命令大全 Maven 是一个项目管理和构建自动化工具,提供了许多实用的命令来简化项目的开发和维护过程。在这篇文章中,我们将总结和讲解 Maven 中的一些常用命令,它们将帮助您更好地使用 Maven。 创建 ...

    maven常用的命令

    Maven 常用命令 Maven 是一个基于项目对象模型(Project Object Model,POM)的项目管理工具,主要用于管理和构建 Java 项目。以下是 Maven 中的一些常用命令: 1. 创建项目 Maven 提供了 archetype 机制来快速...

    maven命令行相关命令集锦

    - 说明:与上述命令类似,不同之处在于`archetypeArtifactId`为`maven-archetype-webapp`,这会创建一个标准的Web应用结构。 #### Maven项目构建命令 - **编译源代码** - 命令格式:`mvn compile` - 说明:此...

    Maven笔记(2)-- 构建Java Project 及 Maven命令使用

    Maven生命周期包括`validate`、`compile`、`test`、`package`、`install`、`deploy`等阶段,每个命令对应生命周期中的一个或多个阶段。例如,`mvn package`命令执行了`validate`到`package`的所有阶段。 ### Maven...

    maven实用命令

    本篇文章将详细解析"Maven实用命令",帮助你更好地理解和利用这些命令提高开发效率。 1. **查看项目依赖** Maven提供了两种命令来检查项目的依赖关系: - `mvn dependency:analyze` 这个命令可以分析项目的依赖...

    Windoiws的maven3.8.8

    **Windows环境下Maven 3.8.8的安装与配置** Maven是Apache软件基金会开发的一个项目管理和综合工具,主要用于Java项目的构建、依赖管理和文档生成。Maven 3.8.8是Maven的一个版本,它包含了对之前版本的一些改进和...

    maven常用命令.docx

    3. `mvn install`:在执行了`mvn compile`之后,此命令会打包项目(默认为jar),并将包安装到本地Maven仓库中,以便其他项目可以作为依赖使用。 4. `mvn deploy`:部署项目到远程仓库,通常用于发布到私有的Maven...

    常用maven命令2

    `mvn package` 命令会编译源代码,运行测试,并将结果打包成指定的格式(如 JAR、WAR)。 6. **生成特定类型的包** - 只打 JAR 包:`mvn jar:jar` - 生成源码 JAR 包:`mvn source:jar` 7. **编译与测试** - ...

    Maven 命令Maven 命令Maven 命令

    以下是一些Maven的常用命令及其详细解释: 1. **创建项目**: - `mvn archetype:create -DgroupId=<group_id> -DartifactId=<artifact_id>`:创建一个基本的Java应用项目。 - `mvn archetype:create -DgroupId=...

    maven3.1.0安装包

    5. **生命周期与构建阶段**:Maven 提供了 clean、default 和 site 三大生命周期,每个生命周期包含多个构建阶段,如 compile、test、install 和 deploy。 ** Maven 插件 ** Maven 插件是 Maven 功能的重要扩展,...

    Maven在eclipse中的项目启动命令

    - **执行Run As -> Maven package**: 这个命令会强制Maven检查远程仓库并下载最新版本的依赖。 ##### Maven工程部署到Tomcat后出现两个相同的jar - **执行Run As -> Maven clean**: 清空工作空间下的相关依赖jar。...

Global site tag (gtag.js) - Google Analytics