4

プロジェクトごとにSBTデバッグポートを変更するにはどうすればよいですか?

デバッグJVMオプションを環境変数に追加できますSBT_OPTS

-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005

ただし、これはすべてのSBTインスタンスに適用され、2つの別々のプロジェクトのデバッグでSBTを同時に実行する場合、ポートがすでに使用されているため、このエラーが発生します。

ERROR: transport error 202: bind failed: Address already in use
4

1 に答える 1

5

homebrewを介してsbtに付属しているsbtスクリプトを変更し、sbtを起動して、次のようにデバッグポートを指定できるスクリプトを作成しました。

sbt-debug 5005

https://gist.github.com/4625742

#!/bin/sh
test -f ~/.sbtconfig && . ~/.sbtconfig

SBT_LAUNCH=/usr/local/Cellar/sbt/0.12.1/libexec/sbt-launch.jar
# Take leading integer as debug port and not sbt args
DEBUG_PORT=$1
SBT_ARGS=`echo "$@" | grep -oE "[^0-9].*"`

exec java -Xmx512M -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=${DEBUG_PORT} ${SBT_OPTS} -jar $SBT_LAUNCH $SBT_ARGS
于 2013-01-24T17:57:14.550 に答える