Изменить java jar для вывода на внешнюю консоль - PullRequest
0 голосов
/ 14 ноября 2018

У нас есть приложение C #, которое запускает процесс. Процесс запускает bash для файла .bat, а файл .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. Можно ли перенаправить вывод из jav-файла в какое-либо местоположение файла на компьютере с Windows?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...