Frage

Die Dokumentation scheint, dass, um vorzuschlagen, für mich Java-Klassen in JRuby zu importieren, dass sie in einer JAR-Datei sein muss:

„Um Ressourcen innerhalb einer JAR-Datei von JRuby die JAR-Datei entweder sein muss, verwenden, auf dem Classpath oder Sie können es mit dem erfordern Verfahren zur Verfügung stellen“ ( http://wiki.jruby.org/wiki/Calling_Java_from_JRuby#Require_a_jar_file_to_make_resources_in_the_jar_discoverable_within_JRuby )

Ist es überhaupt möglich, Dateien direkt zu importieren .class-?

Danke!

War es hilfreich?

Lösung

Ich habe es geschafft, meine eigene Frage zu beantworten:)

Wenn Sie Ihre Klassendateien werden in einen relativen Pfad von „Ziel“ zusammengestellt, z.B. foo.Bar wird in "target / foo / Bar.class" befindet, dann tun Sie das folgende:

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

module Foo
  include_package 'foo'
end

puts Foo::Bar.new

Und das Ergebnis:

foo.Bar@1582a7c

Andere Tipps

Ich denke, man könnte auch:

require 'java'
$CLASSPATH << "target"

und dann

foo.bar.baz.Class.new() # ... 
# or 
java_import 'foo.bar.baz.Class'
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top