1 问题分析

在多模块的SpringBoot项目中,利用revision占位符,进行版本管理。单独打包子项目时,不能将${revision}替换成版本号,找不到依赖,导致打包失败。

项目结构如下图,version标签中,使用${revision}占位。子模块中parent标签中版本号也使用的${revision}。model-user-biz模块在打包的过程中${revision}未被替换成版本号,导致依赖找不到,打包失败。

2 解决办法

父模块maven中引入flatten-maven-plugin插件,打包的时候会自动生成.flattened-pom.xml文件作为当前项目的pom文件, 其中的${revision}被替换成了版本号。

org.codehaus.mojo

flatten-maven-plugin

${maven-flatten-maven-plugin.version}

pom-xml-flattened

true

resolveCiFriendliesOnly

flatten

process-resources

flatten

flatten-clean

clean

clean

生成的文件,如下图所示

如果插件下载失败,可以使用依赖的形式将其下载,再将依赖坐标删除。

好文链接

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。