【问题标题】:Can I import Java class files into JRuby?我可以将 Java 类文件导入 JRuby 吗?
【发布时间】:2010-09-30 13:11:58
【问题描述】:

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

谢谢!

【问题讨论】:

    标签: jruby jruby-java-interop


    【解决方案1】:

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

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

      我想你也可以:

      require 'java'
      $CLASSPATH << "target"
      

      然后

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

      【讨论】:

      • $CLASSPATH 而不是 $CLASS_PATH
      猜你喜欢
      • 2014-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-05
      • 2016-04-03
      相关资源
      最近更新 更多