Scala Play 2.8 - SwaggerPlugin 失败 - com.google.inject.CreationException:无法创建注入器

问题描述 投票:0回答:1

我正在使用杰克逊模块(com.fasterxml.jackson.module:jackson-module-scala_2.13:$ jacksonVersion)

2.13.1
与播放版本
2.8.20
。但是出现此错误:

controllers.SoftwareListControllerSpec > classMethod FAILED
    com.google.inject.CreationException: Unable to create injector, see the following errors:

    1) No implementation for play.modules.swagger.SwaggerPlugin was bound.
      while locating play.modules.swagger.SwaggerPlugin
        for the 2nd parameter of controllers.ApiHelpController.<init>(ApiHelpController.scala:64)
      while locating com.google.inject.Provider<controllers.ApiHelpController>
        for the 7th parameter of router.Routes.<init>(Routes.scala:48)
      at play.api.inject.RoutesProvider$.bindingsFromConfiguration(BuiltinModule.scala:139):
    Binding(class router.Routes to self) (via modules: com.google.inject.util.Modules$OverrideModule -> play.api.inject.guice.GuiceableModuleConversions$$anon$4)

有人知道如何解决这个问题吗?

scala playframework swagger guice
1个回答
0
投票

在初始化期间,在尝试配置项目时,我需要注入依赖项,如下所示:

bind(classOf[SwaggerPlugin]).to(classOf[SwaggerPluginImpl]).asEagerSingleton()

上面两个类来自哪里:

import play.modules.swagger.{SwaggerPlugin, SwaggerPluginImpl}

© www.soinside.com 2019 - 2024. All rights reserved.