使用JRuby创建bean PropertyDescriptor

时间:2010-08-13 03:16:53

标签: jruby

我正在尝试将一些java移植到jruby,它使用bean PropertyDescriptor。原始代码是:

new PropertyDescriptor("splitEvaluator", CrossValidationResultProducer.class)

我试图移植到:

PropertyDescriptor.new("splitEvaluator", CrossValidationResultProducer)

然而,我收到错误:

no constructor with arguments matching [class org.jruby.RubyString, class org.jruby.RubyClass] on object #<Java::JavaBeans::PropertyDescriptor:0x86f847> (NameError)

PropertyDescriptor API表示第二个参数应该是Java类。我需要通过什么才能在JRuby中工作?

2 个答案:

答案 0 :(得分:0)

我需要使用Java类,而不是Java类的Ruby表示。这很有效。

PropertyDescriptor.new("splitEvaluator", CrossValidationResultProducer.java_class)

答案 1 :(得分:0)

我可以看到一个论点,它是一个错误,它不像你原先预期的那样工作。或者至少JRuby足够聪明,可以将Java类的Ruby类表示转换为Java类参数。

实际上,正如你所发现的,使用#java_class是有效的。