我在我的路线上有这个配置:
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"
我只是检查了我的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"