如何解决Maven下载的依赖版本和引入的依赖版本不一致问题
作者:旭东怪
这篇文章主要介绍了如何解决Maven下载的依赖版本和引入的依赖版本不一致问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
问题描述
下载的依赖版本和引入的依赖版本不一致。
问题分析
由于当前项目先引入了
spring-data-elasticsearch 4.1.8版本的依赖同时elasticsearch依赖版本为7.9.3
然后spring-data-elasticsearch依赖的版本改为了3.1.1.RELEASE
elasticsearch版本应该会变成6.2.2的,但是elasticsearch依赖版本还是7.9.3
解决办法
(1)重新建一个项目引入spring-data-elasticsearch 3.1.1.RELEASE版本的依赖即可。
<!-- ElasticSearch6缓存数据库--> <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-elasticsearch</artifactId> <version>3.1.1.RELEASE</version> <scope>compile</scope> </dependency>
(2)在pom.xml的properties加入一个对应${xxx}的xxxx.version标签来设置版本。
<properties> <elasticsearch.version>6.2.2</elasticsearch.version> </properties>
(3)添加dependencyManagement标签,在dependencyManagement标签里面添加Maven依赖,这样就可以指定对应依赖的版本了。
<!--只是对版本进行管理,不会实际引入jar--> <dependencyManagement> <dependencies> <!-- Elasticsearch --> <dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>transport</artifactId> <version>6.2.2</version> </dependency> <dependency> <!-- required by elasticsearch --> <groupId>org.elasticsearch.plugin</groupId> <artifactId>transport-netty4-client</artifactId> <version>6.2.2</version> </dependency> <dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>elasticsearch-rest-high-level-client</artifactId> <version>6.2.2</version> <exclusions> <exclusion> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> </exclusion> </exclusions> </dependency> </dependencies> </dependencyManagement>
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。