Могу ли я импортировать файлы классов 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'