The following method did not exist: org.springframework.plugin.core.PluginRegistry.getPluginFor

场景描述

springboot 集成 springfox的 swagger 3 功能。

  • 环境
IDE: 2021.3
spring boot: 2.1.7
springfox: 3.0.0

问题

  • 启动项目时,异常:The following method did not exist: org.springframework.plugin.core.PluginRegistry.getPluginFor……。
Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2022-02-25 10:13:08.770 ERROR 15336 --- [           main] o.s.b.d.LoggingFailureAnalysisReporter   : 

***************************
APPLICATION FAILED TO START
***************************

Description:

An attempt was made to call a method that does not exist. The attempt was made from the following location:
springfox.documentation.schema.plugins.SchemaPluginsManager.viewProvider(SchemaPluginsManager.java:95)

The following method did not exist:
org.springframework.plugin.core.PluginRegistry.getPluginFor(Ljava/lang/Object;)Ljava/util/Optional;

The method's class, org.springframework.plugin.core.PluginRegistry, is available from the following locations:
    jar:file:/D:/other/repository1/org/springframework/plugin/spring-plugin-core/1.2.0.RELEASE/spring-plugin-core-1.2.0.RELEASE.jar!/org/springframework/plugin/core/PluginRegistry.class

It was loaded from the following location:
    file:/D:/other/repository1/org/springframework/plugin/spring-plugin-core/1.2.0.RELEASE/spring-plugin-core-1.2.0.RELEASE.jar

Action:
Correct the classpath of your application so that it contains a single, compatible version of org.springframework.plugin.core.PluginRegistry

Process finished with exit code 1

解决

spring-plugin-core/1.2.0.RELEASE 的版本和 springfox 3.X 对应问题。
在springfox 提供的demo中,使用的 springboot 版本是 2.3.1
springboot 版本改到2.3.1及以上就可以(提示:版本太高也不支持,eg: 3.6.3版本会出其他错误)。
The following method did not exist: org.springframework.plugin.core.PluginRegistry.getPluginFor

资料

springfox github:https://github.com/springfox/springfox
springfox demo: https://github.com/springfox/springfox-demos/blob/master/boot-swagger

上一篇:RabbitMQ ReturnCallback没有执行


下一篇:RabbitMQ的基本使用