如何将参数传递给 jar 文件并读取 ruby 中的控制台输出?

How to pass parameters to a jar file and read the console output in ruby?

我正在尝试从 ruby 执行一个 .jar 文件并读取输出。当我的 .jar 文件不希望传递任何参数时,以下解决方案有效。但是当我尝试这样做时,出现错误 -

pipe = IO.popen( [ '/path/to/java', '-jar', "/path/to/jarfile.jar #{argsA} #{argsB}", {SDTERR=>STDOUT} ] 
pipe.close_write 
puts pipe.readlines

我需要将几个参数传递给 .jar 文件。我怎样才能做到这一点?我已经尝试了几种方法来做到这一点,但没有成功。这是我得到的错误,其中 'Hello' 和 'World' 是我传递的参数 -

Error: Unable to access jarfile jarfile.jar Hello World

有用的链接: How to get java output with ruby

call jar file from ruby class

将 argsA 和 argsB 放在它们自己的参数中,否则当看到参数中有空格时,ruby 将用引号将它们括起来,因此它们被认为是一个。

pipe = IO.popen( [ '/path/to/java', '-jar', '/path/to/jarfile.jar',"#{argsA}", "#{argsB}", {SDTERR=>STDOUT} ]