curlコマンドがJavaProcessBuilderAPIで機能しないのはなぜですか

rjn

Javaから次のCURLコマンドを実行したい:

curl -v -X PUT --data-binary "@ configfile.json" -u username:password -D / tmp / grabbit_headers http:// server:port / grabbit / job

(http://とserver ...の間のスペースは、スタックオーバーフローのガイドラインに従って挿入されますが、私のコードの一部ではありません)

私はフォローしました

http://alvinalexander.com/java/java-exec-processbuilder-process-1、process2およびprocess3

ProcessBuilderAPIを使用してシェルコマンドを実行するJavaクラスを作成します。

シェルでCURLコマンドを直接実行すると、CURLコマンドが機能し、期待どおりの結果が得られます。Javaクラスを介してまったく同じコマンドを使用すると、exitCode = 0でエラーなしで実行されますが、意図した結果が得られません。

ここでの意図する結果は、Grabbit(https://github.com/TWCable/grabbitを使用して、あるAdobeAEMインスタンスから別のインスタンスにコンテンツを移行することです。

これが私の主な方法です:

public String processBuilderExample() throws IOException, InterruptedException
{


    // build the system command we want to run
  List<String> commands;
  String result="";      
  /*
   * CURL Commands:
   * curl -v -X PUT --data-binary "@$configpath" -u $username:$password -D /tmp/grabbit_headers $client$GRABBIT_JOB > /tmp/grabbit
   * */
  String curl_command="curl -v -X PUT --data-binary \"@"+this.configpath+"\""+" -u "+this.username+":"+this.password+" -D /tmp/grabbit_headers "+this.client+this.GRABBIT_JOB;

  commands = new ArrayList<String>(Arrays.asList(curl_command.split(" ")));      

  result=runCommand(commands);
  return result;

}

//@Override
public String runCommand(List<String> commands) throws IOException, InterruptedException
{

  // execute the command
  SystemCommandExecutor commandExecutor = new SystemCommandExecutor(commands);
  int result = commandExecutor.executeCommand();

  // get the stdout and stderr from the command that was run
  StringBuilder stdout = commandExecutor.getStandardOutputFromCommand();
  StringBuilder stderr = commandExecutor.getStandardErrorFromCommand();

  StringBuilder finalReturnString=new StringBuilder();
  finalReturnString.append("<br/>STDOUT:<br/>");
  finalReturnString.append(stdout.toString());
  finalReturnString.append("<br/>STDERR:<br/>");
  finalReturnString.append(stderr.toString());

  return finalReturnString.toString();

}
ブーン

ProcessBuilderを使用してリダイレクトを構成します。

">"リダイレクトはシェル(sh / bash)の一部であり、コマンドではありません。

プロセスビルダーを使用してリダイレクトする方法についてはランタイムのexec()メソッドが出力リダイレクトしていないことを参照してください

正しく機能しない理由について&>リダイレクトが正しく機能ないを参照してください

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

このcurlコマンドが機能しないのはなぜですか?

分類Dev

curlコマンドが正しく機能しないのはなぜですか?

分類Dev

unmuteがamixerコマンドで機能しないのはなぜですか?

分類Dev

PythonでmysqlInsertコマンドが機能しないのはなぜですか?

分類Dev

このxargsコマンドが機能しないのはなぜですか?

分類Dev

このgrepコマンドが機能しないのはなぜですか?

分類Dev

このjavacコマンドが機能しないのはなぜですか?

分類Dev

psshコマンドが機能しないのはなぜですか?

分類Dev

psshコマンドが機能しないのはなぜですか?

分類Dev

SSHコマンドが機能しないのはなぜですか?

分類Dev

cdコマンドが機能しないのはなぜですか?

分類Dev

xdotool keyコマンドが機能しないのはなぜですか?

分類Dev

crontabコマンドが機能しないのはなぜですか?

分類Dev

コマンド「ls | file」が機能しないのはなぜですか?

分類Dev

grepコマンドが機能しないのはなぜですか?

分類Dev

SSH:「get」コマンドが機能しないのはなぜですか?

分類Dev

AutoSumコマンドが機能しないのはなぜですか?

分類Dev

「dockerimagels」コマンドでcutコマンドが機能しないのはなぜですか?

分類Dev

echoコマンドがatコマンドで機能しないのはなぜですか?

分類Dev

コマンドカスケード削除がコードで機能しないのはなぜですか

分類Dev

コマンド「grep」がパラメータなしで機能しないのはなぜですか?

分類Dev

なぜexpectのinteractコマンドが機能しないのですか?

分類Dev

18.04:なぜこのコマンドが機能しないのですか?

分類Dev

`time`コマンドがどのオプションでも機能しないのはなぜですか?

分類Dev

errexitでshがコマンドリストで機能しないのはなぜですか?

分類Dev

コードが機能しないのはなぜですか?

分類Dev

GITを使用したTFSがコマンドラインから機能しないのはなぜですか?

分類Dev

GITを使用したTFSがコマンドラインから機能しないのはなぜですか?

分類Dev

私が作成したこのコマンド履歴が機能しないのはなぜですか?

Related 関連記事

  1. 1

    このcurlコマンドが機能しないのはなぜですか?

  2. 2

    curlコマンドが正しく機能しないのはなぜですか?

  3. 3

    unmuteがamixerコマンドで機能しないのはなぜですか?

  4. 4

    PythonでmysqlInsertコマンドが機能しないのはなぜですか?

  5. 5

    このxargsコマンドが機能しないのはなぜですか?

  6. 6

    このgrepコマンドが機能しないのはなぜですか?

  7. 7

    このjavacコマンドが機能しないのはなぜですか?

  8. 8

    psshコマンドが機能しないのはなぜですか?

  9. 9

    psshコマンドが機能しないのはなぜですか?

  10. 10

    SSHコマンドが機能しないのはなぜですか?

  11. 11

    cdコマンドが機能しないのはなぜですか?

  12. 12

    xdotool keyコマンドが機能しないのはなぜですか?

  13. 13

    crontabコマンドが機能しないのはなぜですか?

  14. 14

    コマンド「ls | file」が機能しないのはなぜですか?

  15. 15

    grepコマンドが機能しないのはなぜですか?

  16. 16

    SSH:「get」コマンドが機能しないのはなぜですか?

  17. 17

    AutoSumコマンドが機能しないのはなぜですか?

  18. 18

    「dockerimagels」コマンドでcutコマンドが機能しないのはなぜですか?

  19. 19

    echoコマンドがatコマンドで機能しないのはなぜですか?

  20. 20

    コマンドカスケード削除がコードで機能しないのはなぜですか

  21. 21

    コマンド「grep」がパラメータなしで機能しないのはなぜですか?

  22. 22

    なぜexpectのinteractコマンドが機能しないのですか?

  23. 23

    18.04:なぜこのコマンドが機能しないのですか?

  24. 24

    `time`コマンドがどのオプションでも機能しないのはなぜですか?

  25. 25

    errexitでshがコマンドリストで機能しないのはなぜですか?

  26. 26

    コードが機能しないのはなぜですか?

  27. 27

    GITを使用したTFSがコマンドラインから機能しないのはなぜですか?

  28. 28

    GITを使用したTFSがコマンドラインから機能しないのはなぜですか?

  29. 29

    私が作成したこのコマンド履歴が機能しないのはなぜですか?

ホットタグ

アーカイブ