Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby应用程序可以调用Java代码吗?_Java_Ruby On Rails - Fatal编程技术网

Ruby应用程序可以调用Java代码吗?

Ruby应用程序可以调用Java代码吗?,java,ruby-on-rails,Java,Ruby On Rails,这可能真的很简单,但我所有的谷歌搜索结果都是用JRuby返回的,这不是我想知道的。我很好奇,一个普通的Ruby应用程序(例如Rails应用程序或Sinatra应用程序)是否可以引用并调用类路径中的Java库?理想情况下,它可以在Heroku上工作。而不是直接工作。Java库在JVM中运行,Ruby应用程序在它们自己的VM中运行。如果您想让这两个通信,您需要在它们之间创建某种通信通道(有多种解决方案,请参见f.e.) 另一种选择是,如果jar是可执行的,并执行如下操作 并在“会话/终端”中运行它

这可能真的很简单,但我所有的谷歌搜索结果都是用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程序完成执行
    • 它可能会更好地与(我现在正在工作)

    您可以执行ruby(jruby)文件的内联命令块:


    importString=谢谢,我一直在寻找activemessaging。
    
    importString = <<-eos
      java -version
      ls -l
    eos
    
    exec importString