Kann ich importieren Java-Klassendateien in JRuby?
-
06-07-2019 - |
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!
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'