2011-11-12 34 views
7

我想使用特殊配置在我的sbt 0.11項目中引入調試模式。 我試着用下面的代碼來實現它,但不幸的是,它似乎沒有像預期的那樣工作。我正在啓動debug:run,但運行並未按預期中止。使用自定義配置在調試模式下運行sbt項目

object Test extends Build { 
    lazy val root = Project("test", file(".")) 
    .configs(RunDebug) 
    .settings(inConfig(RunDebug)(Defaults.configTasks):_*) 
    .settings(
     name := "test debug", 
     scalaVersion := "2.9.1", 
     javaOptions in RunDebug += "-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005", 
     fork in RunDebug := true 
    ) 

    lazy val RunDebug = config("debug").extend(Runtime) 
} 
+0

在設置javaOptions時直接運行配置時工作:運行中的javaOptions + =「...」但不使用我的調試配置 – David

回答

6

確定與以下工作:

object Test extends Build { 
    lazy val root = Project("test", file(".")) 
    .configs(RunDebug) 
    .settings(inConfig(RunDebug)(Defaults.configTasks):_*) 
    .settings(
     name := "test debug", 
     scalaVersion := "2.9.1", 
     javaOptions in RunDebug ++= Seq("-Xdebug", "-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005"), 
     fork in RunDebug := true 
    ) 

    lazy val RunDebug = config("debug").extend(Runtime) 
} 

現在我可以用debug:mode在調試模式下運行我的代碼。

+0

您說過,「現在我可以在調試模式下使用'debug:mode'運行我的代碼」 。 你是不是指'debug:run'? – mmmbell

+0

neato。剛剛發現這個問題後,得到我的相關答案:http://stackoverflow.com/questions/17437443/how-can-i-make-an-sbt-key-see-settings-for-the-current-configuration –

2

爲只需在調試模式下運行SBT項目,只是做

JAVA_OPTS = -Xdebug -Xrunjdwp:交通= dt_socket,服務器= Y,暫停= Y,地址= 5005

然後

sbt run會以調試模式運行SBT,您可以在eclipse中創建遠程調試配置並連接到它。 這是一個相當蹩腳的,但有用的,當你有一個多模塊播放項目,並希望在調試模式下運行其中一個模塊

0

在Intellij IDEA中,我只是啓動程序在Dedug模式,它似乎工作正確無需進一步配置。

相關問題