5

问题/秒:

  • 视图正在编译,但在浏览器中点击刷新不会显示更改,除非手动重新启动服务器。
  • 对控制器的更改使用自动编译,~run但只有手动重新启动服务器才会更新服务器上的内容。
  • 只有在手动重新启动服务器后才会显示对routesunder的更改。conf

背景:

  • 在 OSX 10.8.3 上运行
  • 使用 Eclipse Juno 4.2.2
  • 服务器使用启动play ~run
  • 只有重新启动服务器才会显示视图、控制器、路由的更改

为了能够进行更改而不必每次尝试都重新启动服务器(没有成功):

  • 在控制台中:clean-> eclipse->~run
  • 在控制台中:clean-> compile->~run
  • 关闭/重新启动计算机
  • 勾选Refresh using native hooks or polling-> 删除classes_managedReferenced Libraries手动添加

问题:

  • 如何恢复自动重新加载功能?
  • 这个问题如何在 Eclipse 之外的 IDE 上解决?

更多的信息:

他们都指出 JNotify 是自动重新加载不起作用的原因。一个答案(没有足够的代表写评论)提到如何“破解 Play 框架的 sbt 插件以使 PlayReloader 特征表现得好像 JNotify 不可用一样”。一个人怎么能做到这一点?

4

3 回答 3

2

The following got Play's auto-reload to working with Eclipse:

  1. In Eclipse Preferences go to GeneralWorkspace. Uncheck Build automatically.
  2. Restart OS X.

For whatever reason, I had to restart OS X to get akim's suggestion to take hold.

于 2013-09-01T18:34:14.820 回答
1

I got around this problem by changing the project configuration in Eclipse. I unchecked the "Allow output folders for source folders" option, which means that Eclipse will compile classes to the "bin" folder. This prevents the Eclipse compilation from interfering with the Play compilation. The only downside is that you have to remember to redo it if you ever do play eclipse again.

于 2014-09-04T11:30:57.193 回答
0

按照 akim 的建议,在 Eclipse Preferences 中禁用Build automaticallyunderGeneral\Workspace可以解决问题并在上述所有问题情况下重新启用 Play! 的自动重新加载功能。

于 2013-03-30T19:03:19.363 回答