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 回答