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

IDEA中使用Maven打包及碰到的问题

1. 项目打包

IDEA中,maven打包的方式有两种,分别是 install 和 package ,他们的区别如下:

install 方式

install 打包时做了两件事,① 将项目打包成 jar 或者 war,打包结果存放在项目的 target 目录下。② 同时,本地仓库的目录中,也会留存一份该打包结果,目的是供其它项目或者模块引用。

install命令应用场景:当前项目是公共模块或者需要集成到其它项目(模块)中使用。

注意:本地仓库中的 jar 包并不会自动更新,除非我们再次执行 install 命令。这就意味着,如果我们修改了某个公共项目,那么其它有引用到该公共项目的模块或项目在打包之前,必须要先对该公共项目执行 install 命令重新打包,这样本地仓库中原有的 jar 包才会被更新掉,否则,其它模块或项目引用到的还是原来的 jar 包。

package 方式

package 打包时只做一件事,就是将项目打包成 jar 或者 war,打包结果存放在项目的 target 目录下。可以这么认为,package 命令是 install 命令的一个子级,只完成了 install 命令一半的工作。大部分应用场景下,我们使用 package 命令对项目进行打包即可。

2. 父级yml文件修改后不生效

在实际项目开发中,我们可能会碰到父级yml文件修改后不生效的问题,该问题通常发生在多模块环境中。

假设有一个业务模块A需要打包,但是模块A依赖一个公共的模块B,如果模块B中的 yml 文件被修改过,那么A模块中引用到的B模块jar包大概率还会是之前老的 jar 包。产生这个问题的根本原因是:模块依赖包对应的jar包文件位于maven仓库目录下,并且这个目录下的jar包文件不会自动更新。那么如何才能引用到最新的B模块中的jar包呢?其实很简单,我们只需要将模块B手动重新安装就可以了,具体如下:

在maven工具栏,找到公共模块B,先执行clean操作,然后再执行install操作即可。

如图:

安装成功后,我们将会看到,maven的仓库目录下,已经生成了最新的依赖jar包。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • android 固定图片大小
  • vue3 身份证校验、识别性别/生日/年龄
  • MMGPL: 多模态医学数据分析与图提示学习| 文献速递-基于深度学习的多模态数据分析与生存分析
  • 如何找回误删的文件?4个常用文件恢复方法!
  • 『C++成长记』vector模拟实现
  • RequestContextHolder多线程获取不到request对象
  • 基于springboot+vue+uniapp的机电公司管理信息系统
  • Llama-factory源码详细解读
  • 192.168.1.1路由器管理系统使用教程
  • 在linux x86服务器安装jdk
  • Sentinel和hystric的运用详解
  • C#实现最短路径算法
  • 记录些Redis题集(1)
  • mysql历史记录
  • Tomcat底层原理
  • 【162天】黑马程序员27天视频学习笔记【Day02-上】
  • ECS应用管理最佳实践
  • es6--symbol
  • ESLint简单操作
  • Java 最常见的 200+ 面试题:面试必备
  • Object.assign方法不能实现深复制
  • Redash本地开发环境搭建
  • use Google search engine
  • win10下安装mysql5.7
  • 和 || 运算
  • 猴子数据域名防封接口降低小说被封的风险
  • 湖南卫视:中国白领因网络偷菜成当代最寂寞的人?
  • 基于Volley网络库实现加载多种网络图片(包括GIF动态图片、圆形图片、普通图片)...
  • 收藏好这篇,别再只说“数据劫持”了
  • 温故知新之javascript面向对象
  • # 20155222 2016-2017-2 《Java程序设计》第5周学习总结
  • #NOIP 2014# day.1 T2 联合权值
  • #我与Java虚拟机的故事#连载17:我的Java技术水平有了一个本质的提升
  • (delphi11最新学习资料) Object Pascal 学习笔记---第5章第5节(delphi中的指针)
  • (第8天)保姆级 PL/SQL Developer 安装与配置
  • (附源码)计算机毕业设计SSM智慧停车系统
  • (更新)A股上市公司华证ESG评级得分稳健性校验ESG得分年均值中位数(2009-2023年.12)
  • (回溯) LeetCode 78. 子集
  • (力扣题库)跳跃游戏II(c++)
  • (亲测成功)在centos7.5上安装kvm,通过VNC远程连接并创建多台ubuntu虚拟机(ubuntu server版本)...
  • (求助)用傲游上csdn博客时标签栏和网址栏一直显示袁萌 的头像
  • (原创)Stanford Machine Learning (by Andrew NG) --- (week 9) Anomaly DetectionRecommender Systems...
  • *p++,*(p++),*++p,(*p)++区别?
  • .aanva
  • .ai域名是什么后缀?
  • .Net 6.0--通用帮助类--FileHelper
  • .Net CF下精确的计时器
  • .NET MVC之AOP
  • .NET Standard、.NET Framework 、.NET Core三者的关系与区别?
  • .NET 使用 ILRepack 合并多个程序集(替代 ILMerge),避免引入额外的依赖
  • .NET精简框架的“无法找到资源程序集”异常释疑
  • .NET框架类在ASP.NET中的使用(2) ——QA
  • .NET中分布式服务
  • [ C++ ] STL_list 使用及其模拟实现
  • [.net] 如何在mail的加入正文显示图片