내가 어떻게 JRuby에서의 컴파일 된 자바 클래스를로드 할 수 있습니까?

마이클 스타 인

그래서, 자바 시작하고 JRuby를 스크립트에서 몇 가지 문제를로드에게 클래스를 가진, 또는 다른 자바 애플 리케이션에서했습니다. 의 예로 들어이 파일을 사용하자 :

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();
    }
}

내가 넷빈즈에서 컴파일 할 때, 그것의 해당 클래스 파일로 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=190927&siteId=1