我试图通过执行以下操作从Java运行Ruby脚本:
public static void main(String[] args) {
try {
Process process = Runtime.getRuntime().exec("ruby /path/to/file/file.rb");
process.waitFor();
System.out.println(process.exitValue());
}
catch (Exception e) {
e.printStackTrace();
}
}
当我运行此选项时,我将1
作为退出值。在我的Ruby脚本中,我使用的是Watir和Nokogiri,因此应该使用浏览器。没有任何事情发生。
如果我将ruby /path/to/file/file.rb
复制到终端,它会正常运行。有什么理由不能正常工作吗?
答案 0 :(得分:3)
您需要使用标准输出和标准错误流来获取进程的输出并找出问题所在。请参阅" Using a thread to capture process output"。
的答案