2012-06-07 75 views
12

目前我正在運行eclipse並同時播放(與〜運行)。當我更改文件時,它將通過播放和eclipse進行編譯。運行play2和eclipse時,我可以避免兩次編譯源代碼嗎?

是否有可能避免這兩個編譯步驟之一?

據我所知,Eclipse插件還採用SBT打造的項目,所以也許有執行戲劇的方式「跑」 Eclipse內部命令?

(我問,因爲我的筆記本電腦是不是非常快,編譯過程會花費一些時間,我想有像廣告上的播放網頁上的「快速週轉」;)

+0

可能的重複http://stackoverflow.com/questions/4803283/eclipse-how-to-turn-off-dynamic-compilation-error-checking –

+0

嗯,我不認爲這是一個重複的問題。我不想關閉eclipse的功能 - 如果我想讓我可以使用文本編輯器。 – peq

回答

5

您可以關閉Build AutomaticallyProject菜單不會丟失任何IDE功能。二進制文件將僅由Sbt(在命令行中)構建。

設置向上的詳細指南播放2使用Scala IDE可以斯卡拉IDE的網站上找到:http://scala-ide.org/docs/tutorials/play20scalaide20/index.html

+0

當我關閉這個功能時,我失去了一些對我很重要的功能:當我在一個文件中改變某些內容並且打破了其他文件時,我沒有直接看到它。 – peq

+1

嘗試將Eclipse構建路徑指向Play/SBT構建的位置。 – pedrofurla

+0

@pedrofurla:嘗試過。沒有幫助 - Play仍然希望編譯Eclipse已經編譯的源代碼,Eclipse希望自己編譯它們,否則它不會顯示/刪除跨文件錯誤。 – jsalvata

1

我還沒有嘗試在Eclipse中運行遊戲運行SBT任務。

,但你可以從Eclipse中直接運行的服務器。

  1. 將「target/scala-2.9.1/classes」添加到您的課程路徑中,使用過濾器僅包含您的資源。 (項目屬性,Java構建路徑)
  2. 選擇「運行配置...」從運行按鈕菜單。
  3. 創建一個自己喜歡的名字一個新的「Java應用程序」配置。
  4. 主選項卡:使用「DebugStart」作爲你的主類
  5. 參數標籤:配置任何「-Dconfig.file = ...」「-Dlogger.file」你可能需要在VM參數
  6. Classpath選項卡選項:添加conf目錄到classpath(高級/添加文件夾)

與創建DebugStart.scala:

import play.core.server.NettyServer 
import java.io.File 
import play.core.SBTLink 
import play.core.TestApplication 
import play.api.test.FakeApplication 
import play.api.test.TestServer 

object DebugStart { 
    def main(args: Array[String]) { 
    val app = FakeApplication() 
    val server = TestServer(9000, app) 
    server.start() 
    } 
} 

現在,您可以運行或調試啓動應用程序。如果您使用調試,則可以在不重新啓動的情況下執行一些代碼更改。

我DebugStart.scala的版本實際上包含一些平臺相關的hackish代碼殺死任何正在運行的進程,這樣我就可以只打F11或CTRL + F11重新啓動應用程序。

爲了確保您的資產/來源是最新的運行:

> sbt 
... 
[your project] $ ~ ;play-copy-assets;sources 
+0

調整配置後,play在Eclipse中運行並監聽端口9000,但它不起作用:控制檯視圖保持空白(除非存在配置錯誤或我請求線程轉儲),並且如果我將瀏覽器指向localhost :9000,它只是掛起等待連接。我無法想象爲什麼。 ¿提示? – jsalvata

0

的IntelliJ IDEA 12(麗達)即將上市。我使用了11段時間,並沒有這樣的問題,但新版本將提供更好的Play 2.0集成。

相關問題