Posso importare file di classe Java in JRuby?
-
06-07-2019 - |
Domanda
La documentazione sembra suggerire che per importare le classi Java in JRuby, devono essere in un file JAR:
" Per utilizzare le risorse all'interno di un file jar di JRuby, il file jar deve trovarsi sul percorso di classe oppure puoi renderlo disponibile con il metodo richiesto " ( http://wiki.jruby.org/wiki/Calling_Java_from_JRuby#Require_a_jar_file_to_make_resources_in_the_jar_discoverable_within_JRuby )
È possibile importare direttamente i file .class?
Grazie!
Soluzione
Sono riuscito a rispondere alla mia domanda :)
Se i tuoi file di classe vengono compilati in un percorso relativo di " target " ;, ad es. foo.Bar si trova in " target / foo / Bar.class " ;, quindi fai quanto segue:
require 'java'
require 'target/foo/Bar'
module Foo
include_package 'foo'
end
puts Foo::Bar.new
E il risultato:
foo.Bar@1582a7c
Altri suggerimenti
Penso che potresti anche:
require 'java'
$CLASSPATH << "target"
e poi
foo.bar.baz.Class.new() # ...
# or
java_import 'foo.bar.baz.Class'