2014-09-04 100 views
3

我正在使用intellij 13.1.4。intellij中scala項目的播放框架緩慢編譯

當直接從intellij創建play 2項目時,我編譯它,它需要大約9秒。甚至在編譯單個源時也會發生這種情況。

是否有一個已知問題或我應該配置以改進編譯過程?

我一直在試用scala一段時間。 我是intellij,play和sbt的新手。

預先感謝您。

備註: 我在與此問題相關的jetbrains中打開了http://youtrack.jetbrains.com/issue/IDEA-129515。 我也嘗試了一種與java編譯器慢速相關的解決方法;但沒有結果。 這個問題的主體被更新了很多,因爲我最初感到困惑:我認爲編譯一個用想法生成的項目花費了2秒,而在重新編譯時它並沒有編譯任何東西。我試圖使緩存失效,但得到了相同的結果。所以,這個項目已經破裂。

+0

您能否提供由每個創建的具體項目?您在YouTrack中發佈的文件只包含intelliJ項目文件並且沒有播放文件... – Salem 2014-09-04 21:45:08

+0

謝謝@salem的回覆。我更新了youtrack中的問題(評論和附件)。並且還通過計算器更新了此問題的正文。這個問題甚至發生在用想法生成的項目中。 – 2014-09-05 15:26:58

回答

0

我寫了一篇很長的文章,講述我們如何在團隊中修復Play Framework中的編譯問題。

https://medium.com/@jfcote/the-ultimate-solution-to-play-framework-slow-compilation-53f4fd499df4

總之,

  • 添加這build.sbt:playEnhancerEnabled := false
  • 使用重構工具,封裝你的實體模型的各個領域(使他們私人的,產生一個getter和改變新創建的getter的用處)。僅爲類別外部使用的字段生成一個setter(通過編譯並查看錯誤,您將知道)
  • 確保刪除所有標記爲 的函數的@Transient註釋。我們在某些功能 上註冊了這些註釋,因爲它與Play Enhancer發生衝突。只要刪除 註釋,一切都會好的!
  • 如果 重構工具沒有完成其工作,那麼編譯並修復您使用該字段的任何地方。