маршрутизация подпроектов Play 2.4

Я пытаюсь перенести проект play 2.3 (java), который использует SBTSubProjects для воспроизведения 2.4, и теперь у меня возникают проблемы с маршрутизацией.

пример проекта, показывающий мою проблему

В проекте используются три подпроекта (админ, веб-сайт и общий):

build.sbt:
lazy val root = (project in file(".")).enablePlugins(PlayJava).dependsOn(admin, website).aggregate(website, admin)
lazy val common = (project in file("modules/common")).enablePlugins(PlayJava)
lazy val admin = (project in file("modules/admin")).enablePlugins(PlayJava).dependsOn(common)
lazy val website = (project in file("modules/website")).enablePlugins(PlayJava).dependsOn(common)
routesGenerator := InjectedRoutesGenerator

conf/routes:
-> /admin admin.Routes
-> /website website.Routes

В версии 2.3 можно было запустить приложение с помощью «запуска активатора» с использованием «корневого» проекта, а затем, вызвав /admin или /website, использовать соответствующие подпроекты-маршруты. Делая то же самое с 2.4, я получаю только админ-маршруты с неправильным путем к ресурсам. При переключении активного проекта на администратора или веб-сайт с «проектом» маршрутизация проектов работает должным образом.

Как добиться того же поведения, что и раньше? Спасибо


person n4cer    schedule 27.08.2015    source источник


Ответы (1)


У меня была точно такая же проблема при обновлении с 2.3 до 2.4, и я ее исправил. Ключевым моментом является установка файла application.conf по умолчанию для корневого проекта.

В build.sbt корневого проекта добавьте эту строку, чтобы убедиться, что он всегда использует корневую конфигурацию.

Keys.javaOptions+="-Dconfig.file=conf/application.conf"

Это также может быть причиной вашей проблемы, потому что без настройки Play может выбрать любой из application.conf, и если он выберет один из подпроекта, который в вашем случае кажется административным проектом, и что имеет только маршруты администратора.

person waterscar    schedule 28.08.2015