如何从jruby调用java方法

时间:2016-08-30 21:20:52

标签: eclipse jruby

我正在学习Jruby,我的日食中有以下代码

public class Test {
  public Test()
  {
      System.out.print("object created");
  }
  public static void main(String args[])
  {}
}

现在我将此项目导出为runnable jar。因为runnable jar寻找main方法,所以我创建了main方法。

现在我可以像这样在Test Class的对象

require 'java'
require 'test.jar'

foo = Test.new

它正在给我输出object created

现在我想将其导出为jar而不是runnable jar。因此,对于导出项目,不需要jar main method

所以我的java代码看起来像这样

public class Test {
  public Test()
  {
    System.out.print("object created");
  }
}

然后我再次创建与Test Class相同的对象

require 'java'
require 'test.jar'

foo = Test.new

现在它给了我错误

NameError: uninitialized constant Test
  const_missing at org/jruby/RubyModule.java:3309
          <top> at test.rb:4

由于我是jruby的新手,我不知道为什么导出runnable jar有效,但导出为jar不起作用。

哪一种是最佳方式,导出为runnable jar或导出为jar

请详细解释,因为我是jruby的新手并且没有提供太多文件。

1 个答案:

答案 0 :(得分:0)

您需要导入该类。您已包含Jar包,但未导入类本身。像这样java_import "Test"

导入它