Невозможно запустить приложение воспроизведения, используя guice для защиты от зависимостей - PullRequest
1 голос
/ 23 марта 2019

Я пытаюсь запустить приложение воспроизведения, в котором я использовал guice для внедрения зависимостей.

Мой контроллер выглядит следующим образом

import scala.concurrent.ExecutionContext
import javax.inject.Inject
import play.api.libs.json.Json
import play.api.mvc._

class MyControllers @Inject()(
    service: MyService,
    cc: MessagesControllerComponents)(implicit ec: ExecutionContext)
    extends MessagesAbstractController(cc) {

  def getAll(id: Int): Action[AnyContent] = Action.async { implicit request =>
      // code to fetch from service and return result
  }

Точно так же в моей службе у меня зависимость вводится DAOas

class MyService @Inject()(dao: MyDAO)(implicit ec: ExecutionContext) {

// call to DB

}

Мой файл build.sbt выглядит примерно так

name := """service-application"""

version := "2.6.x"

scalaVersion := "2.12.7"

crossScalaVersions := Seq("2.11.12", "2.12.4")

libraryDependencies ++= Seq(
  guice,
  "com.typesafe.play" %% "play-slick" % "3.0.3",
  "com.typesafe.play" %% "play-slick-evolutions" % "3.0.3",
  "org.mockito" % "mockito-all" % "1.10.19" % Test,
  "com.h2database" % "h2" % "1.4.197",
  "org.scalactic" %% "scalactic" % "3.0.5",
  "org.scalatest" %% "scalatest" % "3.0.5" % "test",
  "org.scalatestplus.play" %% "scalatestplus-play" % "3.1.2" % Test,
  "net.codingwell" %% "scala-guice" % "4.1.0",
  "com.typesafe.slick" %% "slick-codegen" % "3.2.1",
  "com.typesafe.slick" %% "slick-testkit" % "3.2.3" % Test,
  specs2 % Test
)

addSbtPlugin("com.geirsson" % "sbt-scalafmt" % "1.5.1")

routesGenerator := InjectedRoutesGenerator

Однако теперь, когда я пытаюсь запустить приложение воспроизведения через оболочку sbt с помощью команды

run

Я получаю ошибку как

[IJ]sbt:service-application> run
[error] java.lang.RuntimeException: No main class detected.
[error]     at scala.sys.package$.error(package.scala:27)
[error] (Compile / bgRun) No main class detected.
[error] Total time: 1 s

Не могли бы вы сообщить мне, что мне здесь не хватает?Это какая-то конфигурация, которую мне не хватает в файле conf?

Заранее спасибо !!!

...