产生原因:
出现此问题主要是jar包版本问题
Disruptor是log4j的依赖jar包,其版本需与log4j版本对应。
解决办法:
到mvn官网(https://mvnrepository.com/)查找你项目中log4j版本的发布日期,记录日期后再查找Disruptor包在此日期附近发布的版本,使用这个Disruptor版本即可解决包版本问题。
目前我使用的版本为
<dependency> <groupId>com.lmax</groupId> <artifactId>disruptor</artifactId> <version>3.4.4</version> </dependency>
解决原理:
第三方发布新版本时其依赖包版本也会在发布日期前后更新以兼容新版本,版本冲突自然不存在。
建议:
依赖冲突的大坑spring早已提供了解决方案,建议使用 Spring Boot Starter Parent 依赖管理工具管理依赖,(如项目使用gradle构建则可直接使用Spring Dependency Management Gradle Plugin 依赖管理插件)使用后spring所依赖jar包皆无需填写版本,减少抓狂时间,提升开发效率