Posso importar arquivos de classe Java para JRuby?
-
06-07-2019 - |
Pergunta
A documentação parece sugerir que, a fim de me importar classes Java para JRuby, que devem estar em um arquivo JAR:
"A fim de utilizar os recursos dentro de um arquivo jar do JRuby o arquivo jar ou deve estar no classpath ou você pode torná-lo disponível com o método requer" ( http://wiki.jruby.org/wiki/Calling_Java_from_JRuby#Require_a_jar_file_to_make_resources_in_the_jar_discoverable_within_JRuby )
É de todo possível importar arquivos .class diretamente?
Obrigado!
Solução
Eu consegui responder a minha pergunta:)
Se os seus arquivos de classe são compilados para um caminho relativo de "alvo", por exemplo, foo.Bar está localizado no "target / foo / Bar.class", então você fazer o seguinte:
require 'java'
require 'target/foo/Bar'
module Foo
include_package 'foo'
end
puts Foo::Bar.new
E o resultado:
foo.Bar@1582a7c
Outras dicas
Eu acho que você poderia igualmente:
require 'java'
$CLASSPATH << "target"
e
foo.bar.baz.Class.new() # ...
# or
java_import 'foo.bar.baz.Class'