2011-11-12 35 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模式,它似乎工作正确无需进一步配置。

相关问题