【问题标题】:Play Framework Error injecting constructor, java.lang.NoSuchMethodError in controller播放框架错误注入构造函数,控制器中的java.lang.NoSuchMethodError
【发布时间】:2023-03-20 18:20:02
【问题描述】:

播放 2.6.6,Scala 2.12.3。我正在使用library 来实现身份验证

完整的错误是:

ProvisionException: Unable to provision, see the following errors:

1) Error injecting constructor, java.lang.NoSuchMethodError: jp.t2v.lab.play2.stackc.StackableController.$init$(Ljp/t2v/lab/play2/stackc/StackableController;)

导致错误的控制器是这样实现的:

class AuthController @Inject() (override val accountsTable: Accounts) extends Controller with AuthElement with AuthConfigImpl {

StackableControllerAuthElement trait 中使用如下:

trait AuthElement extends StackableController with AsyncAuth {

这本身就是一种特质。

我无法弄清楚为什么 DI 系统在这部分库上失败了。这段代码以前对我有用,但它是一个 Play 2.4.x 项目

【问题讨论】:

    标签: dependency-injection playframework guice playframework-2.6


    【解决方案1】:

    您不能在 Play 2.6 项目中使用 Play 2.4 模块。 API 发生了变化,这由次要版本凸起表示。 play2-auth 模块似乎有一段时间没有维护了,至少有一个支持 Play 2.6 的 PR:https://github.com/t2v/play2-auth/pull/191 ...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-09
      相关资源
      最近更新 更多