Error reporting of spring plugin core when springboot integrates swagger3

  • 2021-11-10 09:41:04
  • OfStack

The following issues occurred in version 3.0. 2 when springboot integrated knife4j:

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:/Users/zhangyanping/Documents/software/maven/maven_repository/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:/Users/zhangyanping/Documents/software/maven/maven_repository/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

My own dependencies are as follows:


 <dependency>
            <groupId>com.github.xiaoymin</groupId>
            <artifactId>knife4j-spring-boot-starter</artifactId>
            <version>3.0.2</version>
        </dependency>

Solution: Remove spring-plugin-core from dependencies and add higher versions. After resolution, the dependencies are as follows:


 <dependency>
            <groupId>com.github.xiaoymin</groupId>
            <artifactId>knife4j-spring-boot-starter</artifactId>
            <version>3.0.2</version>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.plugin</groupId>
                    <artifactId>spring-plugin-core</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>
  
         <dependency>
            <groupId>org.springframework.plugin</groupId>
            <artifactId>spring-plugin-core</artifactId>
            <version>2.0.0.RELEASE</version>
        </dependency>

At this point, the problem is solved


Related articles: