首页 > 其他分享 >mvn clean install 和 mvn package 的区别

mvn clean install 和 mvn package 的区别

时间:2024-09-13 10:02:54浏览次数:1  
标签:install package 编译 mvn clean 打包

mvn clean installmvn package 是 Maven 构建工具中的两个常用命令,它们在执行时的作用和流程有所不同。

1. mvn package

mvn package 是 Maven 的一个构建命令,作用是编译代码并打包为一个可分发的格式,如 JAR、WAR 等。

执行流程

  • 编译代码:编译 src/main/java 下的源代码。
  • 运行测试:运行所有单元测试,确保代码质量。
  • 打包:将编译后的代码和资源文件打包成指定的格式(如 JAR 或 WAR),打包后的文件会保存在 target/ 目录下。

简要总结

  • mvn package 只会编译、测试并生成打包文件,不会把包安装到本地 Maven 仓库中。

2. mvn clean install

mvn clean install 是一个组合命令,包含 cleaninstall 两个阶段。

执行流程

  • clean:删除之前构建生成的文件,包括 target/ 目录中的所有文件。确保一个干净的构建环境。
  • 编译代码:编译 src/main/java 下的源代码。
  • 运行测试:运行所有单元测试。
  • 打包:将编译后的代码打包成 JAR、WAR 等格式。
  • install:将打包好的文件安装到本地 Maven 仓库(通常位于 ~/.m2/repository 目录下),供其他 Maven 项目引用。

简要总结

  • mvn clean install 会清理上次构建的产物,重新编译、测试、打包,并将包安装到本地仓库,以供其他项目使用。

区别:

  1. 清理步骤mvn clean install 会先执行 clean 操作,删除 target 目录,确保一个干净的构建环境;而 mvn package 不会执行清理。
  2. 安装到本地仓库mvn package 只是将构建好的文件存储在 target/ 目录下,不会安装到本地 Maven 仓库。而 mvn install 会将打包后的文件安装到本地 Maven 仓库,供其他项目依赖。

总结:

  • mvn package:仅编译、测试、打包,但不清理,也不安装到本地仓库。
  • mvn clean install:先清理旧的构建文件,然后编译、测试、打包,并安装到本地 Maven 仓库。

标签:install,package,编译,mvn,clean,打包
From: https://www.cnblogs.com/Will-Chang/p/18411681

相关文章

  • 在不同目录中的py文件,使用pyinstaller打包exe时,该如何设置才能打包正确
    在使用 pyinstaller 打包Python应用程序为单个可执行文件(.exe)时,如果你的项目包含位于不同目录中的Python文件(模块或包),你需要确保 pyinstaller 能够正确地找到并包含这些依赖文件。这通常通过以下几种方式实现:1.使用 -p 或 --paths 选项指定额外的搜索路径如果你的......
  • Xsens MVN Analyze 惯性动作捕捉系统/人形机器人配套系统
    优化用于研发,运动科学,人体工程学和康复,人形机器人等Movella的Xsens动作捕捉解决方案,包含专有的MVNAnalyze软件。MVNAnalyze是一种基于惯性传感器,生物力学模型和传感器融合算法的全身人体测量系统。简单易用,设置时间短,即时验证数据输出,且使用不受环境因素影响。可在任何地......
  • 使用Vue3.5的onWatcherCleanup封装自动cancel的fetch函数
    前言在欧阳的上一篇这应该是全网最详细的Vue3.5版本解读文章中有不少同学对Vue3.5新增的onWatcherCleanup有点疑惑,这个新增的API好像和watchAPI回调的第三个参数onCleanup功能好像重复了。今天这篇文章来讲讲新增的onWatcherCleanup函数的使用场景:封装一个自动cancel的fetch函......
  • vue项目中引入组件时出现的Module is not installed问题
    在Vue项目中,如果遇到了如图“Moduleisnotinstalled”这样的错误,通常这个错误并不是直接由Vue或VueCLI本身抛出的,而是可能因为几个不同的原因导致的。这个错误可能是在你尝试引入一个模块或组件时,该模块或组件并没有被正确地安装在你的项目中。以下是一些可能导致这......
  • Clean Architecture
    《CleanArchitecture》是一本深入探讨软件架构的书籍,由RobertC.Martin(也被称为UncleBob)所著。本书旨在帮助软件开发者、团队领导、业务分析师和管理者提升他们的技能,达到大师级工匠的水平。书中不仅讨论了软件开发的各个方面,还强调了软件架构的重要性,并提供了实现良好架......
  • 解决Android Studio不能下载Gradle的教程Could not install Gradle distribution from
    在使用AndroidStudio时,经常会碰到与Gradle相关的问题,其中一个较为常见的情况就是在加载Gradle的时候,无论是第一次下载Gradle还是导入Gradle,都可能会遭遇报错。尤其是在下载过程中,一旦遇到网络问题,就很容易导致下载超时而报错,给开发者带来极大的困扰。带来两个解决AndroidS......
  • Minikube Install Kubernetes v1.18.1
    文章目录简介安装工具配置代理运行集群检查集群加入rancher简介模拟客户环境,测试kubernetesv1.18.x是否可以被rancherv2.9.1纳管。安装工具docker安装InstallandSetUpkubectlonLinux安装minikube配置代理dockerproxylinuxproxy运行集群$minikubestart--drive......
  • uninstall rancher【卸载 rancher】
    yum-yinstallgitgitclonehttps://github.com/rancher/rancher-cleanup.gitcdrancher-cleanupkubectlcreate-fdeploy/rancher-cleanup.yamlkubectl-nkube-systemlogs-ljob-name=cleanup-job-fkubectlcreate-fdeploy/verify.yamlkubectl-nkube-......
  • 【python】打包神器--pyinstaller
    1:简介pyinstaller是一个python的第三方库,它能够在Windows、Linux、MacOS等操作系统下将Python源文件打包,通过对源文件打包,Python程序可以在没有安装Python的环境中运行,也可以作为一个独立文件方便传递和管理。在Windows上使用就打包成.exe文件。在Mac上使用就打包成m......
  • 卸载IBM Installation Manager的失败提示及解决方式
    1、问题描述如上图所示,按常规方式卸载IBMInstallationManager失败,并出现相关提示信息。在卸载IBMInstallationManager之前,必须卸载由它安装的所有产品。2、原因分析安装IBM的相关软件时,还附带安装了LicenseKeyAdministrator,因此需要先卸载LicenseKeyAdmini......