6
は、私は、コマンドラインから実行した場合、私はC#のからこれを実行し、結果を取得しようとしています取得コンソール出力は
コンソールに出力trueまたはfalseを返す瓶を持っていますこの
Process p = new Process();
p.StartInfo = new ProcessStartInfo("java", @"-jar test.jar " + paramterForStringArgs[0]);
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.UseShellExecute = false;
p.Start();
String s = p.StandardOutput.ReadToEnd();
p.WaitForExit();
Trace.WriteLine("data = " + s);
return false;
のように行われている私は常に空の文字列を取得するために、これはあるかもしれない理由、またはそれを行うためのより良い方法があった場合には思っていたように見えますか?
"java.exe -version"コマンドを実行して、それが最初に機能するかどうか確認してください。 – djangofan
また、RedirectStandardErrorを設定し、p.StandardError.ReadToEnd()を呼び出す必要があるかもしれません。 – jonathanpeppers
stderrorストリームにリダイレクトすると、jarファイルにアクセスできないエラーが表示されました。私はコピーする出力ディレクトリをコピーするように設定するのを忘れました。申し訳ありませんが、それはうまくいきます: – James