404 Resource Not Found for Static Assets in Play 应用程序

404 Resource Not Found for Static Assets in Play App

我的路线上有这样的配置:

GET /assets/*file controllers.Assets.at(path="/public", file)

我在 public 文件夹中有一些文件 public/stylesheets/home.css

当我尝试获取此文件时 returns

curl localhost:9663/assets/stylesheets/home.css

404 Resource not found

我发现问题出在 build.sbt

中的这一行
resourceDirectory in Assets := (sourceDirectory in Compile).value / "assets"

我刚刚检查了我的 Play 2.7 应用程序,它可以正常工作。

唯一不同的是 route 文件:

GET     /assets/*file               controllers.Assets.versioned(path="/public", file: Asset)

有一个已弃用警告 - 但至少它有效。

问题更新后:

resourceDirectory in Assets 定义 Play 查找资产的位置。

默认情况下,Play 在 public 文件夹中查找。使用此行,您已将其覆盖为 app/assets,因为 sourceDirectory 在 Play 中是 app

要解决您的问题只需删除该行或移动您的资产。

顺便说一下,这是 Play 使用的配置:

resourceDirectory in Assets := baseDirectory.value / "public"