我想知道使用Runtime从Java类执行Ruby脚本而不是使用ruby-java桥JRuby的优缺点是什么?
运行时的示例
Process process = Runtime.getRuntime().exec("ruby start.rb blue_button_example_data.txt");
try {
process.waitFor();
} catch (InterruptedException e) {
e.printStackTrace();
return;
}
jRuby http://dior.ics.muni.cz/~makub/ruby/
的示例我在问,因为我有一个遗留Java系统,我们正在与具有ruby脚本的系统集成,我们正在尝试重用它们,而不是在java中重写它们。我们想知道哪种方法最好。
谢谢!
答案 0 :(得分:1)
正如人们提到的,JRuby可能会更快,但更重要的是它可以让你与Java更紧密地集成:你可以从JRuby调用Java代码,反之亦然。这也可以实现Java和Ruby之间更平滑的过渡,因为基础架构可以保持不变(您可以在Java EE应用程序服务器中部署Rails应用程序),开发人员可以逐步在两者之间切换。
有关集成的更多详细信息,请参阅JRuby wiki。
JRuby的唯一缺点是一些MRI宝石不能使用,因为它们使用本机代码 - 尽管这不是我最近被阻止的东西。