项目环境:
springboot版本:2.3.7.RELEASE
Elasticsearch版本:7.13.4
问题描述:
由于2.3.7.RELEASE
版本的spring-boot-dependencies
默认版本为7.6.2
所以自己在.pom=><properties>
添加了<elasticsearch.version>7.13.4</elasticsearch.version>
但是添加后发现部分依赖的版本依旧跟随spring-boot-dependencies
的7.6.2
如图:
原因分析:
- 怀疑是被覆盖了,但是在 dependency块中添加完整引用包括version,依然是上图的效果。
- 怀疑是springboot版本问题,更改了springboot版本依然无法解决
- 查询依赖引用的优先级,在本项目的POM文件的依赖优先级为最高(就近原则)
- 注释了
<spring-boot.version>2.3.7.RELEASE</spring-boot.version>
后ES的版本保持一致了,应该就是springboot导致的
解决方案:
方法一: 注释<spring-boot.version>2.3.7.RELEASE</spring-boot.version>
,引用<parent></parent>
进行springboot版本的依赖管理
注释添加后maven模块的效果如下图:
是我想要的效果,但总觉得怪怪的,继续尝试。
方法二:直接输入具体的springbooot版本
总结:
<spring-boot.version>与<elasticsearch.version>或者其他引用不能放在
<properties></properties>中,否则会出现版本互斥的现象。