在JRuby上生成.class/.java文件实现Java接口

Pab*_*dez 5 java jruby

我正在尝试在JRuby类中实现Java接口,如下所示:

require 'java'
java_package 'net.jruby.test'
java_import "net.jruby.test.Service"

class RubyService
  include Service

  java_signature 'int sum(int, int)'
  def sum(a,b)
    a + b
  end
end
Run Code Online (Sandbox Code Playgroud)

net.jruby.test.Service接口是死的简单:

package net.jruby.test;

public interface Service
{
  int sum(int a, int b);
}
Run Code Online (Sandbox Code Playgroud)

之后我生成.java类文件:

jrubyc --java ruby​​_service.rb

但是生成的.java文件(以及因此的.class文件)没有实现接口,看看:

public class RubyService extends RubyObject  {
Run Code Online (Sandbox Code Playgroud)

有没有办法实现这个目标?

Pab*_*dez 11

找到答案,而不是这个:

include Service
Run Code Online (Sandbox Code Playgroud)

我需要这个:

java_implements 'Service'
Run Code Online (Sandbox Code Playgroud)