2014-01-10 62 views
0

有人曾经见过这个吗?不断重新编译

我的开发机器上的代码是在后台不断地重新编译;而我的同事们没有这个问题。我对这个项目很陌生,并且获得了一台与其他设备完全相同的新机器。

环境是一样的,所以我不应该有这个问题。

我是新来播放和发生这种情况时,我使用下面的命令:当我在我的机器上运行的虚拟机(运行Ubuntu)的代码,我仍然得到“玩跑”

有趣的是,同样的问题表明它是机器相关的。但它会是什么?

+0

你怎么知道它正在重新编译?哪些文件正在重新编译?如果你运行“play〜run”,它会持续监视源代码中的变化并自动重新编译它们。 “游戏运行”应该只编译一次,然后运行应用程序。你在使用任何IDE吗?也许这可能会导致后台编译。 –

+0

与J2EE相比,背景重新编译被认为是Play的一大优点:) – cosmolev

回答

0

这可以通过若干问题引起:

  • 如果您的计算机上的系统时钟是在过去相比,一些源文件,或者如果您的计算机上的时区,使时间早于您所依赖的一些罐子,您会看到这一点。触摸的所有文件的项目,如:

    find . -exec touch {} \; 
    
  • 有时编码问题会弄脏散列。确保您的编码与所有源文件中实际使用的编码相匹配。

  • IDE的可能干扰,删除/修改文件触发SBT重新编译他们。关闭你的IDE,看看是否有帮助。

要调试,运行play,则在剧中控制台运行compile,然后再次运行compile。然后运行last。将显示一堆调试输出,它的顶部应该是几个文件列表,例如修改,添加,删除,删除的产品等。这将告诉你什么触发了重新编译,并希望能指出你在正确的方向。

0

我找到了问题的原因。它必须处理注入页脚scala模板页脚的时间戳。我删除它,它的工作。