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!

Foi útil?

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'
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top