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

maven微服务${revision}依赖打包无法识别

1、场景描述

我现在又一个微服务项目,父pom的版本,使用<properties>定义好,如下所示:

<name>ypsx-finance-center</name>
<artifactId>ypsx-finance</artifactId>
<packaging>pom</packaging>
<version>${revision}</version><properties><revision>2.0.21-SNAPSHOT</revision>
</properties>

子项目依赖父项目,如下所示:

<parent><artifactId>ypsx-finance</artifactId><groupId>com.ypsx</groupId><version>${revision}</version></parent>

但是我在使用maven打包的时候,发现子项目中父项目的模块还是${revision},没有改为具体的版本号

2.0.21-SNAPSHOT

2、原因

1.自Maven 3.5.0-beta-1 开始,可以使用 ${revision}, ${sha1} and/or ${changelist} 这样的变量作为版本占位符

2.但是在install或者deploy是无法识别的,就需要这个插件flatten-maven-plugin:发现使用插件之后,发现它是把这个新的pom打到jar包里。也就是说,

这个插件的作用就是在install或者deploy的时候,生成一个新的替换占位符的pom文件,也就是帮你替换了这些变量,接着把新的pom文件打入到jar包里。

所以我们需要再父项目的pom中添加如下插件

<build><plugins><!--1.自Maven 3.5.0-beta-1 开始,可以使用 ${revision}, ${sha1} and/or ${changelist} 这样的变量作为版本占位符2.但是在install或者deploy是无法识别的,就需要这个插件:发现使用插件之后,发现它是把这个新的pom打到jar包里。也就是说,这个插件的作用就是在install或者deploy的时候,生成一个新的替换占位符的pom文件,也就是帮你替换了这些变量,接着把新的pom文件打入到jar包里。--><plugin><groupId>org.codehaus.mojo</groupId><artifactId>flatten-maven-plugin</artifactId><version>1.1.0</version><configuration><updatePomFile>true</updatePomFile><flattenMode>resolveCiFriendliesOnly</flattenMode></configuration><executions><execution><id>flatten</id><phase>process-resources</phase><goals><goal>flatten</goal></goals></execution><execution><id>flatten.clean</id><phase>clean</phase><goals><goal>clean</goal></goals></execution></executions></plugin></plugins></build>

再次install或者deploy后,发现版本已经改为具体的版本号了。

参考:

https://zhuanlan.zhihu.com/p/701573418

相关文章:

  • 王自如走上了罗永浩的老路
  • 使用VTK还是OpenGL集成到qt程序里哪个好?
  • 马氏链(Markov Chain Model)模型知识详解(1)
  • 使用 espeak-ng 实现文本转语音
  • 基于 Vue 和 Spring Boot 实现滑块验证码的机器验证
  • Qwen2.5-VL - FFN(前馈神经网络)Feedforward Neural Network
  • Java持久层技术对比:Hibernate、MyBatis与JPA的选择与应用
  • npm error Cannot read properties of null (reading ‘matches‘)
  • mamba架构和transformer区别
  • 使用Python和TensorFlow实现图像分类
  • Qemu arm操作系统开发环境
  • PDF文件如何转换格式?简单教程来了
  • 【知识扫盲】如何由inq,ouq和totaltime计算tokens/s
  • Java项目中常用的中间件及其高频问题避坑
  • Day14
  • 【WebSocket】SpringBoot项目中使用WebSocket
  • 读《创新者的窘境》二分 - 破坏性创新与延续性创新
  • 开源 vGPU 方案:HAMi,实现细粒度 GPU 切分
  • OpenAI对抗法庭命令:捍卫ChatGPT用户隐私之战
  • 开源投屏工具Escrcpy的使用教程
  • 中国企业500强中国铁建/太原高级seo主管
  • 上海十大网站建设/推广品牌的策划方案
  • 深圳网站制作工作室/免费加精准客源
  • 如何建设一个彩票网站/软件培训机构有哪些?哪个比较好
  • 网站建设客户在哪里找/百度免费下载安装百度
  • 钟楼做网站/seo规则