如何在命令行上给出-jvm-debug时在test中设置fork?

ed.*_*ed. 2 sbt

如果项目在调试模式下运行,是否有办法有条件地禁用分叉:

sbt -jvm-debug 9999
Run Code Online (Sandbox Code Playgroud)

然后在我的构建中:

fork in Test := { 
  //find a key that lets me know if debugging in set up
  !isDebugging.value
}
Run Code Online (Sandbox Code Playgroud)

Jac*_*ski 5

在SBT中通过系统属性指定flywayUrl应该会有所帮助.

将以下内容添加到build.sbt:

lazy val isDebugging = settingKey[Boolean]("true when xdebug is true; false otherwise")

isDebugging := System.getProperty("xdebug") == "true"

fork in Test := !isDebugging.value
Run Code Online (Sandbox Code Playgroud)

当你执行sbt -Dxdebug=true它时,它会给你你想要的.

顺便说一下,我jvm-debug在SBT源代码中看不到任何引用,但它确实在我用来启动它的shell脚本中.可能是您必须更改sbt-launch-lib.bash以适应设置xdebug时添加的更改-Xdebug.