将Java jar更改为输出到外部控制台

时间:2018-11-13 22:18:03

标签: java c# windows bash

我们有一个C#应用程序,用于启动流程。该进程在.bat文件上运行bash,而.bat文件启动一个jar文件。

我想出了如何通过以下代码使.bat文件将其输出记录到日志文件中:

  Process process = new Process();
  process.StartInfo.FileName = batFile;
  process.StartInfo.Arguments = jarArguments;
  process.StartInfo.RedirectStandardError = true;
  process.StartInfo.RedirectStandardInput = true;
  process.StartInfo.RedirectStandardOutput = true;
  process.StartInfo.UseShellExecute = false;
  process.StartInfo.CreateNoWindow = true;
  process.StartInfo.ErrorDialog = false;
  process.Start();

  while (!process.StandardOutput.EndOfStream)
  {
    log.Debug(process.StandardOutput.ReadLine());
  }

  process.WaitForExit();

我现在的问题是我无法从jar文件获取输出。如果我允许bash进程创建一个新窗口( process.StartInfo.CreateNoWindow = false ),则可以看到jar文件的输出。但是,如果我不创建新窗口,则Java jar的输出不会重定向到我的日志文件中。我的问题:

  1. 在运行时,是否可以配置Java jar的输出文本位置?
  2. 是否可以将Java jar的输出重定向到Windows计算机上的某个文件位置?

0 个答案:

没有答案