当前位置: 首页 > 知识库问答 >
问题:

springboot rest swagger:初始化bean时出错

隗高旻
2023-03-14
    null

代码构建良好,但当我运行它时,它会在下面抛出错误

org.springframework.beans.factory.UnsatisfiedDependencyException: 
    Error creating bean with name 'requestMappingHandlerMapping' defined in class path resource [org/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration 

$EnableWebMvcConfiguration.class]:
 Unsatisfied dependency expressed through method 'requestMappingHandlerMapping' parameter 1;
nested exception is org.springframework.beans.factory.BeanCreationException:
 Error creating bean with name 'mvcConversionService' defined in class path resource [org/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration

$EnableWebMvcConfiguration.class]:
 Bean instantiation via factory method failed;
 nested exception is org.springframework.beans.BeanInstantiationException:
 Failed to instantiate [org.springframework.format.support.FormattingConversionService]: 
Factory method 'mvcConversionService' threw exception; 
nested exception is org.springframework.beans.factory.BeanCreationException:
 Error creating bean with name 'jsonSchemaConverter' defined in class path resource [org/springframework/data/rest/webmvc/config/RepositoryRestMvcConfiguration.class]:
     Bean instantiation via factory method failed;
nested exception is org.springframework.beans.BeanInstantiationException:
 Failed to instantiate [org.springframework.data.rest.webmvc.json.PersistentEntityToJsonSchemaConverter]:
     Factory method 'jsonSchemaConverter' threw exception;
nested exception is org.springframework.beans.factory.BeanCreationException: 
     Error creating bean with name 'defaultConversionService' defined in class path resource [org/springframework/data/rest/webmvc/config/RepositoryRestMvcConfiguration.class]:
     Bean instantiation via factory method failed;  
nested exception is org.springframework.beans.BeanInstantiationException: 
     Failed to instantiate [org.springframework.format.support.DefaultFormattingConversionService]:
     Factory method 'defaultConversionService' threw exception; 
nested exception is org.springframework.beans.factory.BeanCreationException: 
     Error creating bean with name 'repositoryInvokerFactory' defined in class path resource [org/springframework/data/rest/webmvc/config/RepositoryRestMvcConfiguration.class]:
     Bean instantiation via factory method failed;

nested exception is org.springframework.beans.BeanInstantiationException:
 nested exception is org.springframework.beans.BeanInstantiationException:
     Failed to instantiate [org.springframework.data.repository.support.RepositoryInvokerFactory]:
     Factory method 'repositoryInvokerFactory' threw exception;

nested exception is java.lang.NoSuchMethodError:      org.springframework.plugin.core.PluginRegistry.of(Ljava/util/List;)Lorg/springframework/plugin/core/PluginRegistry;   

共有1个答案

司寇高峯
2023-03-14

我也有同样的问题。我的方法是:

Springfox使用了过时的spring-plugin-core版本,并且与spring boot 2.2.5不兼容。Springfox似乎不再维护;迁移到不同的spring-swagger-bridge,如springdoc-openapi:https://springdoc.github.io/springdoc-openapi-demos/

nested exception is org.springframework.beans.BeanInstantiationException:
Failed to instantiate [org.springframework.data.repository.support.RepositoryInvokerFactory]:
Factory method 'repositoryInvokerFactory' threw exception; nested exception is java.lang.NoSuchMethodError:
'org.springframework.plugin.core.PluginRegistry org.springframework.plugin.core.PluginRegistry.of(java.util.List)'

From nosuchmethoderror:org.springframework.plugin.core.pluginregistry.getpluginordefaultfor:

  • SpringFox导入了Spring-plugin-core的1.2.0版。Spring Boot 2.2.5需要版本2.0.0。发布
  • Springfox赢得进口抽奖;测试失败B/C Spring Boot找不到它的方法。
  • 显式导入2.0.0.release会使springfox夭折。
  • SpringFox的最新版本是2.9.2;即使是3.0.0快照也无法解决此问题:https://github.com/springfox/springfox/issues/2932

>

  • Springfox显然被抛弃了:Springfox swagger在spring boot 2.2.0中无法工作
  • 解决方案是迁移到不同的spring-swagger桥。
  • 最有可能的候选者是springdoc-openapi:https://springdoc.github.io/springdoc-openapi-demos/

    <!-- org.springdoc for swagger setup  -->
    <dependency>
        <groupId>org.springdoc</groupId>
        <artifactId>springdoc-openapi-core</artifactId>
        <version>1.1.49</version>
        <exclusions>
            <exclusion>
                <groupId>io.github.classgraph</groupId>
                <artifactId>classgraph</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>org.springdoc</groupId>
        <artifactId>springdoc-openapi-ui</artifactId>
        <version>1.1.49</version>
    </dependency>
    

  •  类似资料:
    • 下面是我的文件: bean初始化失败 更多跟踪: 原因:org.springframework.beans.factory.unsatisfiedDependencyException:创建类路径资源[org/springframework/boot/autocconfigure/session/sessionrepositoryfilterconfiguration.class]中定义的名为“s

    • 完全错误: BeanCreationException:创建名为“Transaction ManagerPostProcessor”的bean时出错:bean初始化失败;嵌套异常是org.springframework.beans.factory.beanCreationException:创建名为“事务管理器”的bean时出错:在设置bean属性“会话工厂”时无法解析对bean“会话工厂”的引用

    • 我在想Spring中bean的懒惰初始化。对我来说,这里的“懒惰”是否意味着当一个bean被引用时会被创建并不十分清楚。 我认为Spring中的延迟初始化支持是不同的。我认为这是一个基于“方法调用”的惰性创建。我的意思是,每当对该方法调用任何方法时,都会创建该方法。 我认为这可以通过创建特定bean的代理实例并对任何方法调用进行初始化来轻松解决。 我是否遗漏了一些东西?为什么没有实施?这个概念有什

    • SOFABoot 提供了模块并行启动以及 Spring Bean 异步初始化能力,用于加快应用启动速度。本文介绍如何使用 SOFABoot 异步初始化 Spring Bean 能力以提高应用启动速度。 使用场景 在实际使用 Spring/Spring Boot 开发中,一些 Bean 在初始化过程中执行准备操作,如拉取远程配置、初始化数据源等等。在应用启动期间,这些 Bean 会增加 Spring

    • 我按照步骤创建了HelloWorld示例,但它没有运行。它给出了以下错误: 初始化引导层java.lang.module.FindException时出错:读取模块:F:\Develop\Eclipse\HelloWorld\bin时出错,原因是:java.lang.module.InvalidModuleDescriptoRexception:HelloWorld.class在顶级目录中找到(模

    • 初始化检出 大多数时候,你会使用checkout从版本库取出一个新拷贝开始使用Subversion,这样会在本机创建一个项目的“本地拷贝”,这个拷贝包括了命令行指定版本库中的HEAD(最新的)版本: $ svn checkout http://svn.collab.net/repos/svn/trunk A trunk/Makefile.in A trunk/ac-helpers A