如何管理多Maven项目中间的公共模块版本号?

哎码 发布于 2019/07/10 09:24
阅读 689
收藏 0

是这样的,我这有好多项目都同时依赖common-api这个模块,每次修改common-api之后,其它项目要不就需要修改common-api的版本号,要不就需要修改父pom中common-api的版本号。

有没有什么好的办法能解决这个问题?

加载中
1
大兵瑞恩
大兵瑞恩

common-api每次升级后deploy到maven仓库,然后引入common-api的maven项目中使用

<dependency>
    <groupId>com.bing.common</groupId>
    <artifactId>common-api</artifactId>
    <version>[1.0.0,)</version>
</dependency>

则项目部署的时候,每次都会自动去maven仓库中检查,拉取版本最新的common-api,这样引入common-api的所有项目无需修改任何代码

哎码
哎码
好啦好啦,确实好用,我之前应该是没有删除本地的metadata-xxx.xml导致的出了问题,多谢多谢
哎码
哎码
No versions available for com.example:common-util:jar:[1.0.0,) within specified range
哎码
哎码
不好用啊,我传了1.0.0和1.0.1两个版本上去,手动指定版本号都好用,用了你这种方式就找不到了
0
mikicomo
mikicomo

保证api向后兼容就好了吧,别的项目引用了这个jar包,你咋强制别人升级呢?

mikicomo
mikicomo
回复 @哎码 : 自己公司的也这样吧,刚才看了看二楼的bom,这个我也没弄过,看看:sweat_smile:,反正我是觉得既然是api层的东西,保持兼容性,实现反正随便改没事,保持不了兼容性了,那就得让使用到的项目逐个更新了,
哎码
哎码
自己公司的项目。。。。
0
luger
luger

maven bom(不是pom)  搜索这个

哎码
哎码
试了,还是不行,需要挨个修改
哎码
哎码
好的,我去研究研究
0
Kit_lee
Kit_lee

其实你只需要在依赖的项目pom里边不写该依赖的版本号就行了,自然会加载本地仓库最新的版本,记得是本地仓库

Kit_lee
Kit_lee
回复 @哎码 : 如果你只是在父pom中依赖这个,那在父pom中写依赖时不写版本号就行了呀,如果你写了版本号,那肯定是要修改啊
哎码
哎码
不写版本号也需要在父pom中定义啊,那么更新之后还是需要所有模块都修改父pom的版本号。。。
0
Joyzhou
Joyzhou

开发中使用SNAPSHOT,发布时使用正式版,公用依赖不可能一直在更新的

哎码
哎码
就是说的开发的时候,snapshot也是一样需要各种改啊
返回顶部
顶部