Maven传递依赖版本降低

发布于 2022-09-12 00:54:24 字数 926 浏览 10 评论 0

我写了一个模块A依赖了 这个 es client 的jar

<!-- Java High Level REST Client -->  
<dependency>  
     <groupId>org.elasticsearch.client</groupId>  
     <artifactId>elasticsearch-rest-high-level-client</artifactId>  
     <version>6.8.0</version>  
     <exclusions> 
         <exclusion> 
            <artifactId>jopt-simple</artifactId>  
            <groupId>net.sf.jopt-simple</groupId>  
         </exclusion> 
     </exclusions>
 </dependency>

es client 的jar 又 依赖了 es的其他jar

<dependency>  
 <groupId>org.elasticsearch</groupId>  
 <artifactId>elasticsearch</artifactId>  
 <version>6.8.0</version>  
 <scope>compile</scope>  
</dependency>

但是 es jar版本在A模块中,降低了变成了 6.4.3。

声明中明明是6.8.0,这是为什么有人知道吗?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

他不在意 2022-09-19 00:54:24

应该是其他的依赖里面引入了6.4.3,可以用如下指令分析一下.

mvn dependency:tree

如果你是IDEA,可以用Maven Helper插件分析。


当发生冲突时候,maven会按照如下方式自动解决冲突:

  1. 优先选择最短路径依赖的版本
  2. 当依赖路径长度相同时,选择先声明的版本

你可以在A模块中声明elasticsearch,使得依赖路径最短。当然,你也可以用exclusions>将6.4.3版本从引入的jar中排除。

<dependency>  
 <groupId>org.elasticsearch</groupId>  
 <artifactId>elasticsearch</artifactId>  
 <version>6.8.0</version>  
 <scope>compile</scope>  
</dependency>
沙与沫 2022-09-19 00:54:24

我猜你应该是用到了 sping-boot-2.1.x,导致了 es 降版本

https://github.com/spring-pro...
1596109641248.jpg

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文