【问题标题】:Play Framework not Hot-Reloading播放框架不热重载
【发布时间】:2014-09-12 07:44:12
【问题描述】:

在 Mac OS X 和 IntelliJ IDEA 上使用最新版本的 Play Framework (v2.3) 作为我的 IDE。

虽然 Play 在后台正确地重新编译了我的项目源代码,但在我重新启动应用程序之前,我从未在浏览器中看到任何更改。我已经在另一台 Mac 上导入了完全相同的项目,使用所有相同的软件,并且看到它正常工作。

我尝试了所有可以在网上找到的方法,包括 run vs ~run 以及使用原生 vs SBT 观察服务的新参数。我怀疑这是一个问题,因为我在更改代码中的任何内容几秒钟后看到这样的行:

[info] Compiling 1 Java source to /Users/patrick/IdeaProjects/play-slick-bootstrap3/target/scala-2.11/classes...

至关重要的是,当我在另一台计算机上点击刷新时,我会收到一条消息,说检测到重新加载等。

对此的任何帮助将不胜感激。

【问题讨论】:

  • 我不太了解它的工作原理,但我知道 SBT 使用多个 Java 线程来检测代码更改。也许您的 Java 设置有什么独特之处?也许您没有使用正确版本的 Java?我不是这方面的专家,但这个确切的配置从第一天开始就在我的电脑和我的同事上运行,没有问题。
  • 你是从 Intellij 上运行的吗?这样做时我遇到了一些问题(尽管我不确定我是否确实遇到了这个问题)。如果是这样,请尝试从 ide 外部运行它。
  • 我尝试从 IntelliJ 和激活器控制台运行。行为是一样的。
  • @JoshPadnick 好吧,我在我的另一台机器上运行完全相同的 Java 8 版本,它可以正常工作!
  • 这里也有同样的问题。从 IntelliJ 和激活器控制台运行...不刷新

标签: java intellij-idea playframework-2.0


【解决方案1】:

事实证明,这是一个 Mac OS X 错误,在某些情况下导致正在监视更改的路径存在区分大小写的“问题”。关于这个问题的更多信息可以找到here

我运行了从上述链接链接到的 find-fsevents-bugs 应用程序,结果发现我的主目录路径的大小写是大写的,但在 Finder 中显示为小写。显然,这会导致 Mac OS X 永远不会为该目录下的任何内容触发事件 - 所以在我的情况下,没有任何工作。我通过命令行将主目录重命名为小写,它开始工作。

希望这对其他人有用!

【讨论】:

    【解决方案2】:

    所以我为解决这个问题所做的是:

    停止在控制台中运行。

    转到 IntelliJ。

    运行 -> 编辑配置

    单击 + 按钮 -> 添加 SBT 任务

    在任务中:输入运行

    点击应用,它的运行就像一个魅力......

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多