我正在寻找一个包来支持从 Java 可靠地执行外部进程。我的标准:
- 操作系统上的抽象。所以如果我想运行'foo',它会在windows下寻找'foo.bat'、'foo.exe'和其他操作系统下的'foo'(或者,有一种传递os->命令映射的方法)
- 能够通过简单地给出类名和参数来执行 Java 类(因此包定位 java 命令,复制 jvm 标志然后执行)
- 正确处理 stdout 和 stderr
- 看门狗/监控功能
我查看了 commons-exec,但它看起来只回答 3 和 4。Ant 支持执行,但仅将其用于此目的似乎有点矫枉过正。