代码之家  ›  专栏  ›  技术社区  ›  bjnortier

我能将Java类文件导入JRuBy吗?

  •  7
  • bjnortier  · 技术社区  · 16 年前

    文档似乎表明,为了使Java类导入JRube,它们必须在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文件?

    谢谢!

    2 回复  |  直到 13 年前
        1
  •  8
  •   bjnortier    16 年前

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

    如果类文件编译为“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
    
        2
  •  5
  •   reto    14 年前

    我想你也可以:

    require 'java'
    $CLASSPATH << "target"
    

    然后

    foo.bar.baz.Class.new() # ... 
    # or 
    java_import 'foo.bar.baz.Class'