当前位置: 首页 > 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包。

http://www.lryc.cn/news/392697.html

相关文章:

  • TreeMap、HashMap 和 LinkedHashMap 的区别
  • 【跟我学K8S】45天入门到熟练详细学习计划
  • ubuntu下载Nginx
  • 【区分vue2和vue3下的element UI Dialog 对话框组件,分别详细介绍属性,事件,方法如何使用,并举例】
  • docker push 推送镜像到阿里云仓库
  • 伯克利、斯坦福和CMU面向具身智能端到端操作联合发布开源通用机器人Policy,可支持多种机器人执行多种任务
  • 昇思25天学习打卡营第17天(+1)|Diffusion扩散模型
  • 【Leetcode笔记】406.根据身高重建队列
  • Linux 安装pdfjam (PDF文件尺寸调整)
  • python+playwright 学习-90 and_ 和 or_ 定位
  • 亲子时光里的打脸高手,贾乃亮与甜馨的父爱如山
  • MySQL篇-SQL优化实战
  • 【MySQL备份】Percona XtraBackup总结篇
  • 【Git 】规范 Git 提交信息的工具 Commitizen
  • ABB PPC902AE1013BHE010751R0101控制器 处理器 模块
  • 大模型AIGC转行记录(一)
  • element-ui Tree之懒加载叶子节点强制设置父级半选效果
  • Java项目:基于SSM框架实现的高校共享单车管理系统分前后台【ssm+B/S架构+源码+数据库+开题报告+任务书+毕业论文】
  • 【Android】自定义换肤框架02之自定义AssetManager和Resource
  • 熵权法、熵值法、熵权TOPSIS三种方法的实用场景及优劣比较
  • 无人机人员搜救
  • 目标检测算法
  • SpringSecurity 三更草堂学习笔记
  • 鸿蒙生态应用开发白皮书V3.0
  • CSS - 深入理解选择器的使用方式
  • 动手学深度学习(Pytorch版)代码实践 -循环神经网络-54~55循环神经网络的从零开始实现和简洁实现
  • Python酷库之旅-第三方库Pandas(006)
  • 智慧矿山:EasyCVR助力矿井视频多业务融合及视频转发服务建设
  • Unix/Linux shell实用小程序1:生字本
  • springboot2.7.6 集成swagger