2017-08-01 11 views
0

私はシンプルですproject
my.jarlibの中にパッケージされています。SBTタスク内でjarを実行するには?

と私はいくつかの引数を持つタスクでmy.jarを実行する方法build.sbtでタスクだけでなく

TaskKey[Unit]("myTask") := { 
    // Evaluates some actions here 

    // After all actions was evaluated, 
    // my.jar with some arguments, 
    // e.g. -a1 argument1 -a2 argument2, 
    // migth be executed 
} 

がありますか?

P.S.私の英語は申し訳ありませんが、私の母国語ではありません。

答えて

0

my.jarは、Processクラスを使用するタスクで実行できます。 2つのパラメータがあり、1つは実行するコマンドを構成するのStringであり、2番目のパラメータは次のように現在の作業ディレクトリを設定します。

TaskKey[Unit]("myTask") := { 
    Process("java" :: "-jar" :: "my.jar" :: "-a1" :: "argument" :: "-a2" :: "argument" :: Nil, 
    (baseDirectory.value/"lib")).! 
} 
+0

私はそこに答えがあると感じます。私は 'Error:jarfile my.jarにアクセスできません 'というメッセージが表示されました – Oleg

+0

ファイル名に' -'が含まれています。私はちょうど '-'なしで名前を変更して動作します! – Oleg

関連する問題