我正在尝试将一些java移植到jruby,它使用了一个beans 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 Class。我需要传递什么才能让它在JRuby中工作?
发布于 2010-08-13 22:11:12
我可以看到一种观点,认为这是一个bug,它没有以您最初预期的方式工作。或者至少JRuby足够聪明,可以将Java类的Ruby类表示形式转换为Java class参数。
实际上,正如您所发现的,使用#java_class是可行的。
发布于 2010-08-13 11:55:39
我需要使用Java类,而不是Java类的Ruby表示。这是可行的。
PropertyDescriptor.new("splitEvaluator", CrossValidationResultProducer.java_class)https://stackoverflow.com/questions/3473650
复制相似问题