抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

Maven锁定版本与版本常量

今天在添加微服务模块是出现了个有趣的现象:

​ 创建了多个微服务;

​ 它们都引用同一个微服务–common;

​ 在common中配置这些微服务的共同依赖;

​ common中使用锁定版本与版本常量的方式配置好了 spring cloud 、spring cloud alibaba;

​ 在common中配置好 nacos

​ 其他的微服务是通过 Spring Initializr 的方式生成的(没选择其他依赖),所以只有 springboot 的依赖

​ 启动微服务,报错:nacos 和 spring cloud 版本不兼容。

纳尼?

版本不能出错,我之前使用过。

在微服务模块中加入 spring cloud 依赖,启动成功!

纳尼???

我不是在 common中配置好了吗? 根据依赖传递,其他微服务中应该不用配置啊?

<dependencyManagement></dependencyManagement>

dependencyManagement 叫做版本锁定,是为了避免因依赖冲突而产生的路径声明、声明顺序等问题,它不会真正的导入依赖,只有在你导入依赖后,进行对应的版本锁定。

<properties></properties>

properties 叫做版本常量,在使用坐标时,对于同一个框架,引入多次时,它的版本信息就好多次出现,所以可以借用常量的思想,将这些版本号提取出来,在需要用到的地方,直接写版本常量名就可以了。

评论