如何使用 JRuby 运行 Java 项目中现有的 Ruby 脚本?

How to run an existing Ruby script in a Java project using JRuby?

我正在尝试使用 JRuby 运行 Java 项目中的现有 Ruby 脚本。我找到的所有示例都即时编写了一个 Ruby 脚本并且 运行 就像这样:

ScriptingContainer container = new ScriptingContainer();
container.runScriptlet("puts 'hello world'");

但是我想要 运行 现有的 Ruby 脚本。没有任何运气。这是我一直在尝试的:

ScriptingContainer container = new ScriptingContainer();
container.runScriptlet("/path/to/file/test.rb");

我的 test.rb 文件如下所示:

#!/usr/bin/env jruby

puts "hi"

the API docs, runScriptlet has several forms; if you want it to execute a file, it needs two parameters可以看出;在你的情况下,

container.runScriptlet(PathType.ABSOLUTE, "/path/to/file/test.rb");

tl;dr:如有疑问,请查看文档。