Как отмечалось выше, вы не можете сделать это напрямую из среды выполнения Ruby, для вызова Java из Ruby требуется, чтобы вы были либо на JRuby, либо косвенно вызывали Java с помощью API C / C ++ JVM, который позволяет вам вызывать код Java из C.
Первый вариант, возможно, использует Ruby Java Bridge , который выполняет большую часть тяжелой работы за вас (он работает как оболочка Ruby-to-C-Java).
Если RJB не работает для вас, вы также можете создать свою обертку напрямую, используя JVM API в C ( пример здесь ), а затем вы можете вызвать ее из Ruby с помощью FFI .
Но если вам действительно не нужно использовать C-Ruby (MRI), я настоятельно рекомендую вам избегать любого из вышеперечисленных подходов и просто использовать JRuby, поскольку копание в собственном коде приведет к возможным ошибкам сегментапроблемы управления памятью и все вышеперечисленные параметры вынуждают вас работать в одном потоке, в то время как вы можете создать многопоточное решение с помощью JRuby.