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"
我的路线上有这样的配置:
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"