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

StackOverflow https://stackoverflow.com/questions/429002

  •  06-07-2019
  •  | 
  •  

Вопрос

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

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

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

Спасибо!

Это было полезно?

Решение

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

Если файлы вашего класса скомпилированы по относительному пути "target", напримерfoo.Панель расположена в "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'
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top