我正在为我的 Java 应用程序使用 Mozilla Rhino(JavaScript 引擎)。我像这样定义了一个 ScriptableObject:
public class TheObj extends ScriptableObject {
public TheObj(){
//nothing
}
public TheObj(Scriptable scope, Scriptable prototype) {
super(scope, prototype);
}
@Override
public String getClassName() {
return "Foo";
}
@JSStaticFunction
public static Foo foo(Foo foo){
return foo;
}
}
Foo 类是:
public class Foo {
public void bar(){
System.out.println("it works");
}
}
但是当我尝试Scriptable 从ScriptableObject.defineClass(scope, TheObj.class);
哪里开始时,它会抛出scope
Context.enter().initStandardObjects();
org.mozilla.javascript.EvaluatorException: Unsupported parameter type "Foo" in method "bar".
我能做些什么来解决这个问题?