2016-05-19 5 views
2

Ich habe ein Problem mit einer Migration zu Play 2.5 mit Scala. Ich musste DependencyInjection verwenden und nachdem ich alle Play Framework 2.5 Migrations-Dokumentation gelesen und alle entsprechenden Implementierungen vorgenommen hatte, kam ich zu einem seltsamen Problem. Play gibt an, dass Klassenrouten automatisch mit dem neuen DependencyInjection-Schema generiert werden sollten, aber wenn ich versuchte, die Klasse in meinen benutzerdefinierten ApplicationLoader zu importieren, teilt mir der Compiler mit, dass das Symbol "router" nicht aufgelöst werden kann. Unten ist ein Teil meines Codes, hoffe du kannst mir dabei helfen, danke!Klasse Klasse router.Routes kann nicht in ApplicationLoader auf Play 2.5 importiert werden

import controllers.Assets 
import controllers.api.clients.ClientsController 
import play.api.ApplicationLoader.Context 
import play.api._ 
import play.api.libs.ws.ahc.AhcWSComponents 
import router.Routes 

class AppLoader extends ApplicationLoader { 
    def load(context: Context) = { 
    LoggerConfigurator(context.environment.classLoader).foreach { 
     _.configure(context.environment) 
    } 

    new AppComponents(context).application 
    } 
} 

class AppComponents(context: Context) extends BuiltInComponentsFromContext(context) with AhcWSComponents { 

    lazy val clientsController: ClientsController = new ClientsController(wsClient) 
    lazy val assets: Assets = new Assets(httpErrorHandler) 

    lazy val router = new Routes(
    httpErrorHandler, 
    clientsController, 
    assets 
) 
} 
+0

Ist es unter Bezugnahme auf der Symbolrouter beim Import oder te faul val? –

Antwort

3

Folgendes überprüfen:

  1. Stellen Sie sicher, Ihre build.sbt enthält routesGenerator := InjectedRoutesGenerator

  2. playCompileEverything in sbt ausführen und aktualisieren Sie Ihr Projekt in Ihrem IDE

Verwandte Themen