问题出现:
在启动spring boot的项目时报错:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘quartzDataSourceInitializer’: Invocation of init method failed; nested exception is java.lang.AbstractMethodError: com.zaxxer.hikari.metrics.micrometer.MicrometerMetricsTrackerFactory.create(Ljava/lang/String;Lcom/zaxxer/hikari/metrics/PoolStats;)Lcom/zaxxer/hikari/metrics/MetricsTracker;
公司用的是2.1.4 RELEASE版本
这个看起来就是MetricsTrackerFactory 接口 和 MicrometerMetricsTrackerFactory实现类版本不匹配
为什么会这样想呢,因为一般来说,公司搭建好的脚手架内部是不可能出现版本冲突的情况的。这种情况的产生一般是由于自己引入的包和脚手架的包发生了冲突。
因为使用mvn dependency:tree>tree.txt命令打印出整个依赖。
打开生成的tree.txt在其中搜索发现,对于hikari依赖出现两个版本:

上面那个版本是我自己引入的,因此解决方法就是在这个包中剔除Hikari CP-java7即可。
<dependency>
<groupId>com.nio.swc.sas</groupId>
<artifactId>caduceus</artifactId>
<version>${caduceus.version}</version>
<exclusions>
<exclusion>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP-java7</artifactId>
</exclusion>
</exclusions>
</dependency>
在启动SpringBoot 2.1.4 RELEASE项目时遇到BeanCreationException,错误源于MetricsTrackerFactory接口与MicrometerMetricsTrackerFactory实现类的版本不匹配。通过执行mvn dependency:tree命令发现存在HikariCP的两个不同版本。问题根源在于个人引入的包与项目基础框架包产生了冲突,特别是HikariCP-java7。解决方法是排除该冲突依赖,具体操作是在相关依赖中剔除HikariCP-java7。
2052

被折叠的 条评论
为什么被折叠?



