2010-08-13 6 views
0

일부 Java를 jruby로 포팅하려고하는데 Bean PropertyDescriptor를 사용합니다. 원래 코드는 다음과 같습니다JRuby를 사용하여 bean PropertyDescriptor 생성하기

I가 포트에 시도했습니다
new PropertyDescriptor("splitEvaluator", CrossValidationResultProducer.class) 

:

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

PropertyDescriptor API는 두 번째 인수가 있어야합니다 말한다 : 그러나

PropertyDescriptor.new("splitEvaluator", CrossValidationResultProducer) 

, 나는 오류 Java 클래스. 이것이 JRuby에서 작동하려면 무엇을 전달해야합니까?

답변

0

나는 원래 예상대로 작동하지 않는 버그라는 주장을 볼 수 있습니다. 또는 적어도 JRuby는 Java 클래스의 Ruby 클래스 표현을 Java 클래스 인수로 변환 할만큼 똑똑 할 수 있습니다.

# java_class를 사용하면 알 수 있듯이 # java_class를 사용하면됩니다.

+0

감사합니다. Nick. 메소드가 예상 할 경우 자동으로 자바 클래스로 변환하는 데있어서 단점이 있는지를 아는 것은 흥미로울 것입니다. – michaeltwofish

0

Java 클래스의 Ruby 표현보다는 Java 클래스를 사용해야합니다. 이 작동합니다.

PropertyDescriptor.new("splitEvaluator", CrossValidationResultProducer.java_class) 
관련 문제