Pregunta

La documentación parece sugerir que para poder importar clases Java en JRuby, deben estar en un archivo JAR:

" Para utilizar los recursos dentro de un archivo jar de JRuby, el archivo jar debe estar en el classpath o puede hacerlo disponible con el método require " ( http://wiki.jruby.org/wiki/Calling_Java_from_JRuby#Require_a_jar_file_to_make_resources_in_the_jar_discoverable_within_JRuby )

¿Es posible importar archivos .class directamente?

¡Gracias!

¿Fue útil?

Solución

He logrado responder mi propia pregunta :)

Si sus archivos de clase se compilan en una ruta relativa de " target " ;, p. foo.Bar se encuentra en " target / foo / Bar.class " ;, luego haces lo siguiente:

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

module Foo
  include_package 'foo'
end

puts Foo::Bar.new

Y el resultado:

foo.Bar@1582a7c

Otros consejos

Creo que también podrías:

require 'java'
$CLASSPATH << "target"

y luego

foo.bar.baz.Class.new() # ... 
# or 
java_import 'foo.bar.baz.Class'
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top