2014-01-10 87 views
0

有人曾經見過這個嗎?不斷重新編譯

我的開發機器上的代碼是在後臺不斷地重新編譯;而我的同事們沒有這個問題。我對這個項目很陌生,並且獲得了一臺與其他設備完全相同的新機器。

環境是一樣的,所以我不應該有這個問題。

我是新來播放和發生這種情況時,我使用下面的命令:當我在我的機器上運行的虛擬機(運行Ubuntu)的代碼,我仍然得到「玩跑」

有趣的是,同樣的問題表明它是機器相關的。但它會是什麼?

+0

你怎麼知道它正在重新編譯?哪些文件正在重新編譯?如果你運行「play〜run」,它會持續監視源代碼中的變化並自動重新編譯它們。 「遊戲運行」應該只編譯一次,然後運行應用程序。你在使用任何IDE嗎?也許這可能會導致後臺編譯。 –

+0

與J2EE相比,背景重新編譯被認爲是Play的一大優點:) – cosmolev

回答

0

這可以通過若干問題引起:

  • 如果您的計算機上的系統時鐘是在過去相比,一些源文件,或者如果您的計算機上的時區,使時間早於您所依賴的一些罐子,您會看到這一點。觸摸的所有文件的項目,如:

    find . -exec touch {} \; 
    
  • 有時編碼問題會弄髒散列。確保您的編碼與所有源文件中實際使用的編碼相匹配。

  • IDE的可能干擾,刪除/修改文件觸發SBT重新編譯他們。關閉你的IDE,看看是否有幫助。

要調試,運行play,則在劇中控制檯運行compile,然後再次運行compile。然後運行last。將顯示一堆調試輸出,它的頂部應該是幾個文件列表,例如修改,添加,刪除,刪除的產品等。這將告訴你什麼觸發了重新編譯,並希望能指出你在正確的方向。

0

我找到了問題的原因。它必須處理注入頁腳scala模板頁腳的時間戳。我刪除它,它的工作。