8

ドキュメントは、Java クラスを JRuby にインポートするには、それらが JAR ファイルに含まれている必要があることを示唆しているようです。

「JRuby から jar ファイル内のリソースを使用するには、jar ファイルがクラスパス上にある必要があります。または、require メソッドを使用して使用できるようにする必要があります」( http://wiki.jruby.org/wiki/Calling_Java_from_JRuby#Require_a_jar_file_to_make_resources_in_the_jar_discoverable_within_JRuby )

.class ファイルを直接インポートすることはまったく可能ですか?

ありがとう!

4

2 に答える 2

9

私は自分の質問に答えることができました:)

クラス ファイルが "target" の相対パスにコンパイルされている場合、たとえば foo.Bar が "target/foo/Bar.class" にある場合は、次のようにします。

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

module Foo
  include_package 'foo'
end

puts Foo::Bar.new

そして結果:

foo.Bar@1582a7c
于 2009-01-09T18:09:10.373 に答える
5

あなたもできると思います:

require 'java'
$CLASSPATH << "target"

その後

foo.bar.baz.Class.new() # ... 
# or 
java_import 'foo.bar.baz.Class'
于 2009-12-09T17:04:59.533 に答える