我目前正在编写一个需要 java jar 输出的 ruby 应用程序。
我目前无法使用 open3 从 java 命令获取任何输出。
但是,我已经使用“ls”成功测试了以下 ruby 代码。
require 'open3'
Open3.popen3('java -version') do |stdrin, stdout, stderr|
@output = stdout.read
end
我还尝试使用 java 的绝对路径:'/opt/java/jre/bin/java' 但没有成功。
提前谢谢
最佳答案
java -version
写入 STDERR,因此以下内容应该有效:
@output = stderr.read
在 Linux 上,您可以通过抑制 STDERR 或 STDOUT 来检查输出所在的 shell:
java -version >/dev/null
仍然打印信息。
关于java - 如何使用 ruby 获取 java 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10354602/