2011-03-06 57 views
5

我想实现一个JRuby的类的Java接口,这样的:实现对JRuby的Java接口生成的.class/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 

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

package net.jruby.test; 

public interface Service 
{ 
    int sum(int a, int b); 
} 

之后,我产生随着的.java类文件:

jrubyc --java ruby​​_service.rb

但是生成的.java文件(并因此.class文件)不实现接口,请看:

public class RubyService extends RubyObject { 

有什么办法来实现这一目标?

+0

我问过的IRC频道,邮件列表,没有(至少直接)运气,所以请不要指向我,我知道那些选项 – 2011-03-06 00:04:24

回答

11

找到了答案,而不是这样的:

include Service 

,我需要这样的:

java_implements 'Service' 
+0

你记得你在哪里找到这个? – 2013-02-05 20:09:26

+1

“使用JRuby”的书,我想。 – 2013-02-05 21:10:04