Как включить дистанционную отладку для SBT в Windows?

Я бы хотел выполнить эквивалент этого

sbt -jvm-debug 5005

Однако я, похоже, не могу передать аргументы в Windows. Это то, что я вижу

>sbt -jvm-debug 5005
[info] Loading project definition from [myProject]
[info] Set current project to [myProject] (in build file myProject)
[error] Expected letter
[error] Expected symbol
[error] Expected '!'
[error] Expected '+'
[error] Expected '++'
[error] Expected ';'
[error] Expected end of input.
[error] Expected 'show'
[error] Expected '*'
[error] Expected '{'
[error] Expected project ID
[error] Expected configuration
[error] Expected key
[error] 5005
[error] ^
[error] Not a valid command: jvm-debug
[error] Not a valid project ID: jvm-debug
[error] Expected ':' (if selecting a configuration)
[error] Not a valid key: jvm-debug
[error] jvm-debug
[error]          ^                  

Я хотел бы иметь возможность удаленного отладки этого приложения от Intellij. Любая помощь будет замечательной!

Ответы

Ответ 1

Похоже, что версия SBT для Windows не определяет эту функциональность.

В Linux он определен в $SBT_HOME/sbt/bin/sbt-launch-lib.bash как

addDebugger () {   
  addJava "-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=$1" 
}

Вы можете добиться того же результата, установив переменную окружения SBT_OPTS в Windows.

Запустите SBT таким образом, чтобы отладчик прослушивал порт 5005

set SBT_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005" && sbt

Ответ 2

set SBT_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005
sbt run

было единственным рабочим решением в Windows 7.