bjn*_*ier 7 jruby jruby-java-interop
文档似乎表明,为了让我将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文件?
谢谢!
我设法回答了我自己的问题:)
如果您的类文件被编译为"target"的相对路径,例如foo.Bar位于"target/foo/Bar.class"中,那么您执行以下操作:
require 'java'
require 'target/foo/Bar'
module Foo
include_package 'foo'
end
puts Foo::Bar.new
Run Code Online (Sandbox Code Playgroud)
结果如下:
foo.Bar@1582a7c
Run Code Online (Sandbox Code Playgroud)
我想你也可以:
require 'java'
$CLASSPATH << "target"
Run Code Online (Sandbox Code Playgroud)
然后
foo.bar.baz.Class.new() # ...
# or
java_import 'foo.bar.baz.Class'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7115 次 |
| 最近记录: |