イム、私は実行する必要があるコマンドは、このようなものです:パラメータプロセスとしてjarファイルを起動しようとしている「ProcessBuilder.command」の構文
「のjava -Xmx512M -jar -Xms512M myapp.jar引数」
そして、これはコードである私は現在持っている作業:
ProcessBuilder builder = new ProcessBuilder();
String[] command = {"java", "-jar", "myapp.jar"};
builder.command(command);
Process process = builder.start();
OutputStream stdin = process.getOutputStream();
InputStream stdout = process.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(stdout));
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(stdin));
ReaderThread rt = new ReaderThread(reader);
Thread handle = new Thread(rt, "ReaderThread");
handle.start();
しかし、私は「-Xmx1024M」のようなものを追加しようとした場合、私は追加しようとすると、私は「する最大のヒープエラー」またはになるだろう最後の文字列に "args"と表示されたら、 "jarfileにアクセスできません"というメッセージが表示されます。
システムコールのすべてのパラメタを正しい順序で追加する正しい構文は何ですか?
ありがとうございました。
EDIT:
私はまた、全体のコマンドを渡してみましたが、仕事をdidntのいくつかの理由があります。
私はストリームを後で処理しますが、私が望む完全なコマンドを実行することはできません。 thx – josephfley
@joseph:ストリームをどのように扱うかを示してください。 –
オリジナルのポストを修正して、その部分をインクルードしました。完全なコードを投稿できますが、基本的にはスレッドが出力を読み込み、その部分がうまく動作しています。 – josephfley