どのように私は、JRubyの中にコンパイルされたJavaクラスをロードするのですか?

ミハル・スタイン

だから、私は、Javaでスタートし、JRubyのスクリプトで、または別のJavaアプリでいくつかの問題ロードクラスを持ってきました。のは、例として、このファイルを使用してみましょう:

package dice;
import java.util.Random;
public class Dice {
    public int sides;
    private Random random;
    public Dice(int sides) {
        this.sides = sides;
        this.random = new Random();
    }
    public Dice() {
        this.sides = 6;
        this.random = new Random();
    }
}

私は、NetBeansでそれをコンパイルすると、それはそれでそのクラスファイルとjarファイル、およびMETA-INFファイルを作成します。私はJRubyの中で、それを必要とすることができますが、私はjava_importの一部を行うことはできません。

irb(main):013:0> java.dice.Dice
Traceback (most recent call last):
        7: from C:/jruby-9.2.4.1/bin/jirb:13:in `<main>'
        6: from org/jruby/RubyKernel.java:1181:in `catch'
        5: from org/jruby/RubyKernel.java:1181:in `catch'
        4: from org/jruby/RubyKernel.java:1415:in `loop'
        3: from org/jruby/RubyKernel.java:1043:in `eval'
        2: from (irb):13:in `evaluate'
        1: from org/jruby/javasupport/JavaPackage.java:252:in `method_missing'
NameError (missing class name (`java.dice.Dice'))
ミハル・スタイン

それでもupvotingが、自分からそれを見つけ、私はちょうど行う必要があります

Java::dice.Dice

それだけでなく機能、なぜならJava::それはのようなパッケージのJavaのフォルダ内にあるときに一部

java.lang.System

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=190929&siteId=1