一周前我迁移到 2.2.1,遇到了一些严重的问题,我的项目在 2.1.5 中运行良好。
从最早的 play2 版本开始,我一直使用以下过程来访问我的公共资产(从官方文档复制粘贴):
-> 路线文件:
GET /assets/*file controllers.Assets.at(path="/public", file)
在模板文件中:
<link href="@{routes.Assets.at("stylesheets/bootstrap.css")}" rel="stylesheet">
没有任何问题。
但是,现在我升级到 2.2.1,它只在 DEV 模式下工作(播放调试/运行),在 PROD 中,我所有的资产 URL 都返回 404 错误。
我认为这是一个打包问题,检查了主 jar 文件,我可以看到公共文件夹以及各种 *.js 和 *css 文件,因此它们似乎被正确包含。生成的 URL 看起来也很干净:
http://localhost:9000/assets/stylesheets/bootstrap.css
我使用单个模块布局并在 Windows 7 上进行开发。我尝试在 linux debian 6 上进行部署,但遇到了完全相同的问题。
我会很感激任何帮助,似乎我不是唯一一个遇到这个问题的人,但还没有关于可能的修复的信息......恢复到 2.1.5 将是一项艰巨的任务,因为 2.2 在 API 中引入了一些严重的不兼容性并且需要许多代码更改。