【问题标题】:Play Framework 2 doesn't compile on runtimePlay Framework 2 无法在运行时编译
【发布时间】:2013-12-30 03:04:31
【问题描述】:

我在我的 MacOSx Mavericks 上运行 Play 2.2.1,当我修改它们时,它没有检测到任何文件的任何更改。在 Windows 上,它总是在执行浏览器请求时检测到更改时重新编译项目。 在 Mac 上,要编译更改,我需要结束 Play 的服务器进程并再次执行“play run”或“play ~run”。

有谁知道我可以做些什么来完成这项工作?

编辑:在 Eclipse 上禁用“自动构建”不起作用。

提前致谢。

【问题讨论】:

  • 在 Mac 上它也总是重新编译,我可以向你保证......抱歉不知道
  • 我的朋友几个月前遇到了同样的问题,唯一的解决方案是在 Windows 机器上开发

标签: compilation playframework-2.0


【解决方案1】:

如果您使用的是 Eclipse,它可能会在实际写入磁盘之前将您的项目加载到内存中。同时,Play 只检查文件系统,不检查 Eclipse 的缓存。

您可以通过启动 Play 项目来确认此行为,然后尝试在基本编辑器(例如 Sublime Text 甚至 vim)中更新其中一个文件。

【讨论】:

  • 我试过了,没有成功。我不明白。不过在 Windows 上效果很好。
【解决方案2】:

我看到其他人报告了这个问题,一般修复(您已经尝试过)似乎是关闭 Eclipse 项目中的“自动构建”选项。有些人说他们需要在关闭该选项后重新启动机器才能真正看到任何变化。

还有this thread 在 play-framework Google 小组,这是最后一篇帖子:

为了任何仍然遇到此问题或在谷歌上搜索它的人的利益。在 OSX 上(可能只有某些版本?),文件夹的创建方式(命令行与查找器)或父路径中使用的大小写似乎触发了问题。

我们已经能够通过将项目移动到新路径(在主目录后全部小写)或通过在 finder 中重新创建所有路径来解决它。我不确定哪一个解决了它,但其中一个解决了。之后,热重载就可以正常工作了。

阿尔瓦罗

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-03-06
    • 2017-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多