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