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!

È stato utile?

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'
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top