Ruby应用程序可以调用Java代码吗?
这可能真的很简单,但我所有的谷歌搜索结果都是用JRuby返回的,这不是我想知道的。我很好奇,一个普通的Ruby应用程序(例如Rails应用程序或Sinatra应用程序)是否可以引用并调用类路径中的Java库?理想情况下,它可以在Heroku上工作。而不是直接工作。Java库在JVM中运行,Ruby应用程序在它们自己的VM中运行。如果您想让这两个通信,您需要在它们之间创建某种通信通道(有多种解决方案,请参见f.e.)Ruby应用程序可以调用Java代码吗?,java,ruby-on-rails,Java,Ruby On Rails,这可能真的很简单,但我所有的谷歌搜索结果都是用JRuby返回的,这不是我想知道的。我很好奇,一个普通的Ruby应用程序(例如Rails应用程序或Sinatra应用程序)是否可以引用并调用类路径中的Java库?理想情况下,它可以在Heroku上工作。而不是直接工作。Java库在JVM中运行,Ruby应用程序在它们自己的VM中运行。如果您想让这两个通信,您需要在它们之间创建某种通信通道(有多种解决方案,请参见f.e.) 另一种选择是,如果jar是可执行的,并执行如下操作 并在“会话/终端”中运行它
我成功地从Rails控制器调用了如下Java程序:
system "java -cp postgresql-9.0-801.jdbc4.jar:./ Main"
有几件事需要注意:
- 我已经编译了我的主类,并将其放入rails应用程序的根目录中(git将其推送到heroku)
- 此调用将阻止rails应用程序,直到java程序完成执行
- 它可能会更好地与(我现在正在工作)
importString=谢谢,我一直在寻找activemessaging。
importString = <<-eos
java -version
ls -l
eos
exec importString