Michal Stein
Por lo tanto, he comenzado a cabo con Java y tener algunos problemas para cargar una clase en un script JRuby, o en otra aplicación Java. Vamos a utilizar este archivo como un ejemplo:
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();
}
}
Cuando compilo en NetBeans, tiene un archivo JAR con el archivo de clase en el mismo, y un archivo META-INF. Puedo requerir en JRuby, pero no puedo hacer la parte 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'))
Michal Stein
Aún Upvoting, pero se encontró que a mí mismo, i sólo tiene que hacer
Java::dice.Dice
porque, sólo funciona sin la Java::
parte cuando se encuentra en la carpeta java de paquetes como
java.lang.System