Runtime.getRuntime().exec() を使用して、Java コードからシェル スクリプトを実行しています。
String[] cmd = {"sh", "build.sh", "/Path/to my/sh file"};
try{
Process proc = Runtime.getRuntime().exec( cmd );
}
catch(Exception e){
System.out.println("Exception is:"+e);
}
コンソールに次の出力が表示されます。
sh: Can't open build.sh
ここで間違ったアプローチに従っていますか?なぜ彼が起こったのかわかりません。
編集
ここのコメントに基づいて、に変更しString[] cmd = {"sh", "build.sh", "/Path/to my/sh file"};
ましたString[] cmd = {"sh", "/Path/to my/sh file/build.sh", "/Path/to my/sh file"};
。問題は、このスクリプトを特定のパスから実行する必要があることです。このスクリプトをコマンド プロンプトから実行するときは、まずディレクトリをそのパスに変更して実行します。このコードをどのように変更すればよいですか?