2014-03-05 63 views
13

我在這個項目中,我有一個副播放項目和其他項目與IntelliJ IDEA的播放調試SBT項目

例如,從我的生成文件SBT項目

lazy val subProj1 = Project(id = "sub-proj-1", base = file("sub1")) 
.settings(...)... 

lazy val subProjPlay = play.Project("play-proj", 1.0 , path = file("web")) 

需要從IntelliJ IDEA調試播放服務器。

要運行該項目我在命令行上使用sbt run

如何在IDEA中調試項目?

回答

24

我發現這是最簡單的解決方案:(使用的IntelliJ IDEA)

中的IntelliJ

進入 「編輯的運行配置」

enter image description here

創建一個新的遠程配置(端口9999,所有其他細節保留默認值)

enter image description here

回去的IntelliJ並運行新的調試配置(不要忘了把一個破發點)

運行命令行:

sbt -jvm-debug 9999 run 
+1

最好的關於這是你可以將它用於在JVM上運行任何應用程序 -

  • 運行使用創建SBT Task。例如。 maven構建,測試,遠程應用程序服務器... –

  • 2

    前提是你玩分發本地安裝,在命令行上使用play debug run,並在IDEA中的端口9999上連接到localhost

    Debugging section in Using the Play console正式打出2.2.x的文檔:

    你可以要求播放啓動控制檯時開始JPDA調試端口。 然後,您可以使用Java調試器進行連接。使用播放debug命令 做

    然而,如果你沒有它(和一個理由不想安裝),添加在IDEA Remote運行配置,會給你一個提示的在啓動SBT時應該使用的命令行參數,例如

    -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 
    

    當您啓動SBT,可能會或可能不會像推出SBT罐子一樣簡單,只需使用上述配置JVM在調試模式下運行。

    +0

    我沒有安裝在我的機器上的遊戲,所以我不能運行命令遊戲 這是一個sbt項目 –

    +0

    Doh,我以爲它是一個Play項目,您使用本地安裝的遊戲發行版。抱歉。我確定了答案。 –

    1

    的IntelliJ IDEA 2016年1月1日& &播放框架2.5.3

    對於我來說,不管我怎麼設置的(播放2應用程序或SBT任務創建新的運行/調試配置,指定調試端口,在執行運行或調試模式)在IntelliJ IDEA 2016.1.1企業版中,IDEA無法打開調試端口(默認9999),因此調試是不可能的。

    禁用了sbt-fork-run-plugin(在/project/paly-fork-run.sbt中註釋它)之後,它就可以工作了!

    我新的播放框架,並已發現許多錯誤......相較於回報率,它是如此努力地學習,運行,使用,調試......

    下面是我的步驟:

    1. 禁用SBT-叉運行插件(在/project/paly-fork-run.sbt評論吧)
    2. 執行activator -jvm-debug 9999 "run 11111"(我用9999端口調試,端口11111運行我玩的項目)
    3. 在IDEA中,添加一個新的運行/調試配置,選擇,將調試端口設置爲9999
    4. 調試新創建的配置
    +0

    禁用sbt-fork-run-plugin是一個關鍵!非常感謝 – user1913596

    5

    最簡單的解決方案。

    1. 編輯配置... - >添加SBT Task(不Remote任務)。 指定SBT任務:runDebug調試按鈕

    +2

    如果這不起作用,您必須編輯您的build.sbt文件'fork in run:= true'到'fork in run:= false' 請參閱markus answer here:http:/ /stackoverflow.com/questions/5390178/how-to-make-the-debugging-in-playframework-in-intellij-idea – Jeep87c

    +0

    它適用於我 fork in run:= true' –

    相關問題