2012-01-08 106 views
5

我使用sbt-idea插件創建了一個Lift項目ifor IDEA 11 Community Edition。 它從SBT插件SBT控制檯編譯並運行良好,我也能夠通過創建正確的「遠程」配置進行調試。如何在IntelliJ IDEA 11社區版中創建SBT運行配置?

但是,如何創建SBT運行配置?

我不想在SBT控制檯中每次輸入「container:start」,我想使用運行/調試按鈕啓動。
我無法找到一些SBT配置類型(例如有可用的「Maven」類型),並且當我嘗試添加基於「應用程序類型」的配置時,我無法指定主類。

還有沒有「斯卡拉編譯服務器」類型的可用(我不能看到它在可用的配置類型的列表),所以我不能使用的解決方案是這樣https://stackoverflow.com/a/6131737/705819/
是否有應該做任何具體行動爲「Scala編譯服務器」類型顯示?還是僅在完整版的IDEA中可用?

更新:我也爲我的項目使用JRebel。如果沒有正確的運行配置,我必須通過VM參數運行帶有JRebel的SBT並通過遠程配置進行調試 - 因此,每當我更新代碼(導致Jrebel重新加載類)而不是隻點擊「Debug with Jrebel」按鈕時,我就會重新啓動調試器(感謝Jrebel IDEA插件)。這是非常煩人的,請幫助!

+1

將'alias cs = container:start'添加到'.sbtrc'以避免一些擊鍵。 – retronym 2012-01-08 15:05:12

回答

1

你需要多少servlet容器?我會建議編寫一個啓動嵌入式Jetty的常規主方法。

添加到您的構建設置到碼頭添加到測試類路徑:

libraryDependencies += "org.mortbay.jetty" % "jetty" % "6.1.22" % "test" 

然後採取code snippet from here開始碼頭:

您可以設置一個pre-run action這個運行配置運行sbt package ,這將創建一個戰爭。

+0

非常感謝!我爲jetty 8編寫了一個主要的方法(api已經稍微改變了http://wiki.eclipse.org/Jetty/Tutorial/Embedding_Jetty),它的工作原理!最後一件事 - 我仍然在使用SBT控制檯並行調試(我運行「〜compile」命令),導致JRebel需要連續編譯源代碼才能正常工作。我希望我可以在啓動SBT動作之前分配一個「〜編譯」,但是沒有這樣的選項。也許你可以建議一個解決方法嗎? – Alexzander 2012-01-08 23:34:35

+1

我有同樣的問題,有點這個解決方案沒有爲我工作,因爲我根本不寫Web應用程序。 – Arne 2013-05-10 22:11:25

相關問題