JRuby: невозможно преобразовать экземпляр класса org.jruby.RubyObject в класс java.time.Instant - PullRequest
0 голосов
/ 06 марта 2019

Я занимаюсь разработкой приложения на Ruby on rails (Rails 3.2.22.4).Ruby - это JRuby (jruby1.7.x).

Проблема

Я вызываю RESTful Java-сервис из этого приложения rails.Запрос вызова java-сервиса содержит java.time.Instant, я пытался использовать ruby ​​Time, DateTime и напрямую использовать java_import для создания java.time.Instant, но ни один из них не сработал.Я получил

TypeError: невозможно преобразовать экземпляр класса org.jruby.RubyObject в класс java.time.Instant

Вопрос

Есть ли какой-либо рубинкласс, или другой обходной путь, который я должен использовать для решения этой проблемы преобразования типов?

Спасибо!

1 Ответ

1 голос
/ 06 марта 2019

JRuby 9.2 поддерживает их по умолчанию при выполнении Time/DateTime#to_java

, поэтому, когда Java Integration JRuby видит параметр java.time.Instant, он автоматически преобразует объект Ruby Time (или DateTime).

для (старого) JRuby 1.7 это явно не сработает, но создание типа java.time.Instant напрямую действительно должно работать, так что продолжайте в этом разбираться.трудно сказать, что у тебя за неудача с этим.

...