web-dev-qa-db-ja.com

SBT:デフォルト以外のプロジェクトのメインクラスのコマンドライン「実行」を開始

sbt build my Scala code(および依存関係を処理する))を使用し始めています。

$ sbt run <args>

コマンドラインで、これはメインプロジェクトのメインクラスを実行します。

コマンドラインから他のプロジェクト内で、つまりインタラクティブセッションモードではなく、「実行」することは可能ですか? (私は$ sbt project <proj> run <args>または何でも...)

対話モードで私がすることはこれです:

$ sbt
> project <projectname>
> run <args>

これは簡単なように思えますが、この動作を説明するドキュメントは見つかりません。ヒントをいただければ幸いです...

61
fgysin

単純に各コマンドを引用する必要があります(2番目の例 このページ )。したがって、あなたの場合は次のようになります。

$ sbt "project foo" "run arg1 arg2"
92
Moritz

$ sbt foo/run arg1 arg2も動作します

41

これは動作します:sbt "runMain com.example.Hello arg1"またはsbt "run-main com.example.Hello arg1"

参照用にここを参照してください: https://blog.ssanj.net/posts/2016-03-02-how-to-run-a-specific-main-class-with-parameters-through-sbt.html

14

私のために働いた:

$ sbt "run someNumber"

また、これはいくつかの助けになるかもしれません:

def main(args: Array[String]) {
    val n = args(0).toInt
}
9
randompast