выполнить внешнюю команду/приложение из java

Я ищу пакет для поддержки надежного выполнения внешних процессов из Java. Мои критерии:

  • Аннотация над ОС. Поэтому, если я хочу запустить «foo», он будет искать «foo.bat», «foo.exe» в Windows и «foo» в других ОС (или иметь способ передачи карты os-> команда)
  • Возможность выполнять классы Java, просто указав имя класса и аргументы (поэтому пакет находит команду java, копирует флаги jvm и затем выполняет)
  • Правильно обрабатывать stdout и stderr
  • Возможности сторожевого таймера/мониторинга

Я просмотрел commons-exec, но похоже, что он отвечает только на 3 и 4. Ant поддерживает выполнение, но его использование только для этой цели выглядит излишним.


person IttayD    schedule 16.03.2010    source источник


Ответы (1)


Вам, вероятно, придется пойти с «commons-exec», а затем засучить рукава и написать код.

Это довольно специфические требования.

person Timothy    schedule 16.03.2010
comment
Означает ли это, что вы столкнулись с этой проблемой и провели некоторое исследование, чтобы найти ничего доступного, или просто просмотрев вопрос, он кажется вам слишком конкретным? - person IttayD; 16.03.2010
comment
Я работал над проектами, касающимися последних двух пунктов (3 и 4), и использовал commons-exec и Ant. Но я никогда не видел требования, подобного вашим первым двум пунктам. - person Timothy; 17.03.2010