2016-05-19 2 views
2

У меня возникла проблема с переходом на Play 2.5 с Scala. Я должен был начать использовать DependencyInjection и после прочтения всей документации по миграции Play Framework 2.5 и внесения всех соответствующих реализаций в странную проблему. Play указывает, что класс Маршруты должны быть автоматически сгенерированы с помощью новой схемы DependencyInjection, но когда я попытался импортировать класс в свой собственный ApplicationLoader, компилятор говорит мне, что не может разрешить символ «маршрутизатор». Ниже приведена часть моего кода, надеюсь, вы можете мне помочь в этом, спасибо!Невозможно импортировать класс router.Routes в ApplicationLoader в Play 2.5

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

ли в виду Маршрутизатор символов при импорте или te lazy val? –

ответ

3

Проверьте следующее:

  1. Убедитесь, что build.sbt содержит routesGenerator := InjectedRoutesGenerator

  2. Выполнить playCompileEverything в sbt и обновить свой проект в вашей IDE

Смежные вопросы