【问题标题】:500 Error for accessing static resources: Play Framework访问静态资源时出现 500 错误:Play 框架
【发布时间】:2015-10-15 14:15:58
【问题描述】:

我下载了我公司的一个 Play 项目。我已经完美地构建了它,但是当我运行它时,它的路由非常适合scala.html 页面,但是无论我尝试从我的应用程序访问静态资源,它都会给我500 错误。以下是我在routes 文件中的设置:
GET /app/assets/*file controllers.Assets.at(path="/public", file)

以及我尝试从模板访问静态资源的方式:
<link rel="stylesheet" href="@routes.Assets.at("stylesheets/bootstrap.min.css")">

我认为当Scala 正在编译模板并尝试在模板中附加静态资源时出现一些问题,它失败并给出500。但是我和我的同事的Scala版本是一样的。 log 中也没有任何可见的东西。下面是我的 Firebug 截图:

我能看到的唯一区别是我使用的是 Java 8,而我的同事使用的是 Java 7。但我认为不会有太大影响。

【问题讨论】:

  • 每个资产请求都具有相同的大小,因此您可能会收到一个 HTTP 500 错误和一个带有错误描述而不是资产的 html 页面。尝试得到它并将其添加到您的问题中。当您尝试访问该页面时,您是否在控制台中没有任何异常?

标签: java playframework


【解决方案1】:

我认为您的 URL 存在问题,默认情况下,使用公共资产时,路由将如下所示。

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

根据playdocumentation,当你想访问公共目录下的静态资源时,你的URL应该是/assets/*file,所以play会像下面的public/stylesheets/bootstrap.min.css一样寻找请求的资源

所以尝试将URL从/app/assets/*file替换为/assets/*file

【讨论】:

    猜你喜欢
    • 2019-06-28
    • 2015-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-04
    • 1970-01-01
    相关资源
    最近更新 更多