¿Puedo importar archivos de clase Java en JRuby?
-
06-07-2019 - |
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!
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'