Могу ли я импортировать файлы классов Java в JRuby?

Документация, кажется, предполагает, что для того, чтобы я мог импортировать классы Java в JRuby, они должны быть в файле JAR:

"Чтобы использовать ресурсы в файле jar из JRuby, файл jar должен находиться либо в пути к классам, либо вы можете сделать его доступным с помощью метода require" ( http://wiki.jruby.org/wiki/Calling_Java_from_JRuby)

Можно ли вообще импортировать файлы.class напрямую?

Спасибо!

2 ответа

Решение

Мне удалось ответить на мой собственный вопрос:)

Если ваши файлы классов скомпилированы по относительному пути "target", например, foo.Bar находится в "target/foo/Bar.class", то вы делаете следующее:

require 'java'
require 'target/foo/Bar'

module Foo
  include_package 'foo'
end

puts Foo::Bar.new

И результат:

foo.Bar@1582a7c

Я думаю, что вы могли бы также:

require 'java'
$CLASSPATH << "target"

а потом

foo.bar.baz.Class.new() # ... 
# or 
java_import 'foo.bar.baz.Class'
Другие вопросы по тегам