文档似乎表明,为了让我将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文件?

谢谢!

有帮助吗?

解决方案

我设法回答了我自己的问题:)

如果您的班级文件被编译为“目标”的相对路径,例如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

其他提示

我想你也可以:

require 'java'
$CLASSPATH << "target"

然后

foo.bar.baz.Class.new() # ... 
# or 
java_import 'foo.bar.baz.Class'
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top