当前位置: 首页 > news >正文

maven install和package 有什么区别

在 Maven 中,mvn install 和 mvn package 都是用于构建项目的命令,但它们的作用范围和执行结果有明显区别:
package 都是用于构建项目的命令,但它们的作用范围和执行结果有明显区别:
1. mvn package打包项目
核心作用:将项目编译后的 class 文件、资源文件等打包成指定格式的归档文件(如 JAR、WAR、EAR 等,由 pom.xml 中的 标签指定)。
执行流程:会依次执行 compile(编译)→ test(运行测试)→ package(打包)阶段。
产物位置:打包后的文件生成在项目的 target/ 目录下(例如 target/xxx.jar)。
适用场景:仅需要得到可执行的打包文件,用于本地运行或手动部署。
2. mvn install:安装到本地仓库
核心作用:在 package 命令的基础上,将打包好的文件安装到本地 Maven 仓库(默认路径为 ~/.m2/repository)。
执行流程:会先执行 package 阶段的所有操作,然后额外执行 install 阶段,将包推送至本地仓库。
产物位置
项目的 target/ 目录下会生成打包文件(同 package)。
本地仓库中会生成对应的目录结构(如 groupId/artifactId/version/xxx.jar),供其他本地项目依赖。
适用场景:当当前项目需要被本地其他项目作为依赖引用时(例如多模块项目中,模块 A 依赖模块 B,需先 install 模块 B)。

特性mvn packagemvn install
主要操作打包项目到 target/ 目录打包项目 + 安装到本地仓库
依赖可用性仅当前项目可见本地所有 Maven 项目可通过依赖引用
执行阶段包含 package 所有阶段 + 额外的 install包含 package 所有阶段 + 额外的 install
典型使用场景本地运行、手动部署被其他本地项目依赖、多模块项目构建

简单说:package 是 “打包到项目内”,install 是 “打包并发布到本地仓库”。如果只是自己用,package 足够;如果需要被其他项目引用,必须用 install。

http://www.dtcms.com/a/398103.html

相关文章:

  • 关于maven编译没把resources资源包含进target目录
  • 网站开发文档合同wap712c
  • [Maven 基础课程]11_Windows 安装 Maven 私服 Nexus
  • LinuxC++项目开发日志——基于正倒排索引的boost搜索引擎(3——通过cppjieba库建立索引模块)
  • 早报库|深圳奔向全球“消费级3D打印第一城”;苹果持续扩招增材制造人才;乌军前线大量使用3D打印地雷
  • 爬虫数据存储:MongoDB 在电商采集中的应用
  • 【STM32项目开源】STM32单片机厨房安全监测系统系统
  • 在 ARM64 Ubuntu 20.04 上部署 Mailu 邮件服务器:深度排查 Docker Bridge 网络通信失败问题
  • ubuntu 20 安装python
  • Golang语言基础篇003_数组、切片、map详解
  • 传统网站开发下载 wordpress语言包
  • flowable的监听器顺序
  • 连接局域网、主干网和虚拟局域网
  • 【保姆级】| 基于Docker的dify部署流程
  • 网站建设 策划方案如何用flashfxp通过ftp访问网站服务器下载网站代码
  • 大规模无人机检测数据集:11998张高质量图像,支持YOLOv8、COCO、TensorFlow多格式训练,涵盖飞机、无人机、直升机三大目标类别
  • 软考-系统规划与管理师教程(第2版)- 2025 新增 / 改版重点
  • sparkml 多列共享labelEncoder
  • 【TS5】Electron与Flutter
  • 线程池高频面试题(核心原理+配置实践+常见误区)
  • 【LeetCode热题100(28/100)】两数相加
  • 网站搭建思路如何使用模板建设网站
  • 注册网站的步骤二手房出售
  • 新疆燃气从业人员考试真题练习
  • 知识图谱的表示与推理对自然语言处理中因果性语义逻辑的影响与启示研究
  • go go-zero的学习,持续中...
  • C++篇 类和对象(3)万能工具怎么用?
  • 跨端边云时序数据管理新范式:Apache IoTDB 的 DB+AI 融合之道
  • 线程同步与互斥和生产消费模型
  • Java怎么终止一个线程