Есть ли способ выбрать сообщения System.out или System.err, когда Java-программа выполняется с помощью сценария оболочки

1

Мне нужно было выполнить третью сторону класса java из сценария оболочки. Когда возникает исключение, они записывают сообщение об ошибке с помощью System.err по требованию. Теперь, когда я выполнил класс в оболочке, я хочу получить это сообщение об ошибке. Я не могу получить полное сообщение в стандартном выпуске и искать это сообщение как свой большой скрипт, и есть много сообщений. Есть ли способ захватить эту конкретную версию System.err в java, когда я ее выполнил в оболочке. "Просто дайте мне знать, если проблема недостаточно ясна.

  • 0
    попробуйте посмотреть на Process Builder в Java
  • 2
    Я думаю, вы просто хотите перенаправить stderr в файл? Для этого добавьте в вашу команду 2>error.out , чтобы перенаправить stderr в файл с именем error.out .
Показать ещё 2 комментария
Теги:

2 ответа

1
Лучший ответ

Чтобы выбрать стандартную ошибку java-приложения (или любой другой программы, если на то пошло) в переменной при отбрасывании ее стандартного вывода, вы можете использовать эту конструкцию оболочки:

var=$(java MyApplication 2>&1 1>/dev/null)

Если вы не хотите отбрасывать стандартный вывод, вы можете перенаправить его в файл вместо /dev/null или перенаправить его на эмулятор терминала с помощью /dev/tty.

0

Пожалуйста, обратитесь к this-

Как напечатать сообщение об ошибке со стандартной ошибкой?

Я думаю, что лучший ответ на этот вопрос также отвечает на ваш вопрос.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню