Модуль Guice Scala - Нет допустимых конструкторов - PullRequest
0 голосов
/ 11 декабря 2018

У меня есть приложение playframework, написанное на scala.Проблема в том, когда я хочу добавить новый модуль для Silhouette.Мой класс модуля очень похож на класс из Пример силуэта .Я могу запустить приложение через sbt с помощью простой команды запуска, но когда я собираю jar с помощью sbt-сборки и пытаюсь запустить его, я получаю:

 No valid constructors
    at play.api.inject.Modules$.$anonfun$constructModule$6(Module.scala:155)
    at scala.Option.getOrElse(Option.scala:138)
    at play.api.inject.Modules$.constructModule(Module.scala:155)
    at play.api.inject.Modules$.$anonfun$locate$4(Module.scala:127)
    at scala.collection.TraversableLike.$anonfun$map$1(TraversableLike.scala:237)
    at scala.collection.immutable.HashSet$HashSet1.foreach(HashSet.scala:321)
    at scala.collection.immutable.HashSet$HashTrieSet.foreach(HashSet.scala:977)
    at scala.collection.TraversableLike.map(TraversableLike.scala:237)
    at scala.collection.TraversableLike.map$(TraversableLike.scala:230)
    at scala.collection.AbstractSet.scala$collection$SetLike$$super$map(Set.scala:51)
    at scala.collection.SetLike.map(SetLike.scala:104)
    at scala.collection.SetLike.map$(SetLike.scala:104)
    at scala.collection.AbstractSet.map(Set.scala:51)
    at play.api.inject.Modules$.locate(Module.scala:125)
    at play.api.inject.guice.GuiceableModule$.loadModules(GuiceInjectorBuilder.scala:276)
    at play.api.inject.guice.GuiceApplicationBuilder$.$anonfun$$lessinit$greater$default$9$1(GuiceApplicationBuilder.scala:30)
    at play.api.inject.guice.GuiceApplicationBuilder.applicationModule(GuiceApplicationBuilder.scala:102)
    at play.api.inject.guice.GuiceBuilder.injector(GuiceInjectorBuilder.scala:185)
    at play.api.inject.guice.GuiceApplicationBuilder.build(GuiceApplicationBuilder.scala:137)
    at play.api.inject.guice.GuiceApplicationLoader.load(GuiceApplicationLoader.scala:21)
    at play.core.server.ProdServerStart$.start(ProdServerStart.scala:51)
    at play.core.server.ProdServerStart$.main(ProdServerStart.scala:25)
    at play.core.server.ProdServerStart.main(ProdServerStart.scala)

1 Ответ

0 голосов
/ 06 июня 2019

У меня была похожая проблема, и я решил ее, добавив конфигурацию в качестве параметра в конструктор, по какой-то причине он ищет конструктор с конфигурацией, но не уверен, что это та же проблема, что и у вас.

import com.typesafe.config.Config;

@Inject
public TradeClearingWorkboardGuiceModule(Environment environment, Config configuration) {

}
...