2017-07-10 3 views
1

SBTでタスクを作成しています.SSにスクリプトをアップロードしています。私はSBT外部プロセスとaws cli s"aws s3 cp ./someDir $uploadPath --recursive" ! logを使ってS3にアップロードしています。 それはエラー外部プロセスを実行しているときにSBTのスローエラーが発生する理由

にjava.io.IOExceptionがスローされます。プログラム "AWS" を実行することはできません:CreateProcessをエラー= 2を、システムファイルがこれはWindowsでのみ起こる

を指定見つけることができません。 Ubuntuビルドシステムで同じプロジェクト/タスクを実行するとうまく動作します。 AWS cliがWindowsマシンにインストールされており、PATHが正しく設定されています。

私には分かりません。

答えて

0

sbt内部プロセスライブラリには、WindowsのPATH変数が含まれていないようです。

適した回避策は、別のファイルにあなたのAWSコマンドを抽出し、このファイルの実行をトリガするために、次のようになります。

あなたdoSomeStuff.batは次のようになります。

aws s3 cp ./someDir $uploadPath --recursive 

とbuild.sbtでadd

lazy val someStuff = taksKey[Unit]("Execute a aws command") 
yarnBuild := { 
    "./doSomeStuff.bat" ! 
} 
+0

私たちのチームには、Windows、Mac、Ubuntuのユーザーが混在しているため、私はこの道を歩いていませんでした。 CLIではなくAPIを使用するプラグインを作成することを決定しました – Cheeko

関連する問題