platform-bom与elastic-job集成的一个错误

在使用io.spring.platform管理依赖关系时,与elastic-job集成时出现错误(并不一定会出现,和使用platform的方式有关),项目无法启动,错误配置如下:

<dependency>

   <groupId>io.spring.platform</groupId>
   <artifactId>platform-bom</artifactId>
   <version>Brussels-SR7</version>
   <type>pom</type>
   <scope>import</scope>
</dependency>
<dependency>
   <groupId>com.dangdang</groupId>
   <artifactId>elastic-job-lite-core</artifactId>
   <version>2.1.5</version>
</dependency>
<dependency>
   <groupId>com.dangdang</groupId>
   <artifactId>elastic-job-lite-spring</artifactId>
   <version>2.1.5</version>
</dependency>

产生如下的错误信息:

Caused by: java.lang.NoClassDefFoundError: org/apache/curator/framework/api/ErrorListenerPathable

原因是,elastic-job中的依赖中的 curator-recipes的版本出现了错误,为 2.11.1(由platform-bom的配置中生效),由于platform中的只对curator-recipes做出了配置,而未对 curator进行配置,导致 elastic-job 中的使用的curator版本为2.10.0,版本产生冲突。

那样就好解决了

解决方案有两种:  

一:

 

 

以spring的文档给的方案是,重置version,但是必须有一个前提 ,你的应用的pom的parent 必须是 platform-bom才可以生效。elastic-job中的curator的版本号变量,两者是一致的,所以只要增加 <curator.version>即可实现重置。

你的应用的pom的parent 是 platform-bom,那么你就不需要做任何改变,因为两者的变量是一致的,因此不存在启动异常的问题。

 

二: 

  如果你的parent 不是 platform-bom,我想只能手动在自己的pom中添加依赖。我是maven小白一个,想必应该有更好的解决方案吧。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值