У меня есть эта конфигурация на моих маршрутах:
GET /assets/*file controllers.Assets.at(path = "/public", file)
У меня есть файл в общей папке
public/stylesheets/home.css
когда я пытаюсь получить этот файл, он возвращается
curl localhost:9663/assets/stylesheets/home.css
404 Resource not found
Я обнаружил, что проблема в этой строке в build.sbt
resourceDirectory in Assets := (sourceDirectory in Compile).value / "assets"
Я только что проверил свое приложение Играть 2.7, и оно работает.
Единственное отличие у меня есть в файле route
:
GET /assets/*file controllers.Assets.versioned(path = "/public", file: Asset)
Есть предупреждение устарел - но оно хоть работает.
После обновления вопроса:
resourceDirectory in Assets
определяет, где Play ищет активы.
По умолчанию Play ищет в папке public
. Этой строкой вы заменили это на app/assets
, так как sourceDirectory
— это app
в игре.
Чтобы решить вашу проблему просто удалите эту строку или переместить ваши активы.
Кстати, это конфигурация, которую использует Play:
resourceDirectory in Assets := baseDirectory.value / "public"
я поправил свой ответ
так что теперь у вас есть решение, удалив
resourceDirectory in Assets := (sourceDirectory in Compile).value / "assets"
?