从 Ruby 调用 Java 程序

Calling Java program from Ruby

我想从我的 Ruby 脚本中调用 Java 程序。我正在尝试使用 JRuby,我安装了它并试图查看它是如何工作的。

我首先做了以下简单的 Java class:

package test;

public class Test {

public static void main(String[] args) {
 say();
}

public static void say(){
  System.out.println("oh hi!");  
}
}

和下面的ruby程序,

#! /usr/bin/env ruby

require 'java'
require '/Users/arwa/NetBeansProjects/test/dist/test.jar' 

class Main
 def run
  sayObj = Java::test::test.new
  sayObj.say()
 end
end

app = Main.new
app.run

在终端中,当我输入

jruby test_again.rb

我一无所获!不知道是什么问题

您在 java 和 ruby 中都有问题。

java 代码: 主要和 'static' 删除

package test;

public class Test {

  public void say() {
    System.out.println("oh hi!");
  }

}

ruby 代码: 你在调用 java 库时不尊重 jruby 大写

#! /usr/bin/env ruby

require 'java'
require '/Users/arwa/NetBeansProjects/test/dist/test.jar' 

class Main
 def run
  sayObj = Java::Test::Test.new # NOTE the uppercase
  sayObj.say()
 end
end

app = Main.new
app.run