Java 无法加载JRubyEngine,因为找不到org.apache.bsf.util.BSFEngineImpl

Java 无法加载JRubyEngine,因为找不到org.apache.bsf.util.BSFEngineImpl,java,jruby,jsr223,Java,Jruby,Jsr223,我试图在自定义应用程序中使用JRuby,但似乎无法加载JRubyEngine对象。我的类在功能上类似于: public class ScriptEngine { private static ScriptEngine engine = new JRubyEngine(); public void run(final String script, final Map<String,Object> input) { final Bindings con

我试图在自定义应用程序中使用JRuby,但似乎无法加载JRubyEngine对象。我的类在功能上类似于:

public class ScriptEngine {

    private static ScriptEngine engine = new JRubyEngine();

    public void run(final String script, final Map<String,Object> input) {
        final Bindings context = engine.createBindings();

        context.putAll(input);

        try {
            engine.eval(script,context);
        } catch (ScriptException e) {
            log.error("Failed to execute script: "+getScript(),e);
        }
    }

}

有没有人对我从哪里得到这门课有什么见解?或者,如果有更好的方法来实例化JRubyEngine对象。

您可以从下载Apache BSF。事实证明,我应该使用JRubyScript引擎,而不是JRubyEngine。e、 g


我已经下载了。我用ApacheIvy检索它
[javac] Compiling 486 source files to /workspace/myProject/build/src
[javac] /workspace/myProject/src/net/ceilingfish/ScriptEngine.java:31: cannot access org.apache.bsf.util.BSFEngineImpl
[javac] class file for org.apache.bsf.util.BSFEngineImpl not found
[javac]     private static ScriptEngine engine = new JRubyEngine();
[javac]                                          ^
[javac] 1 error
import com.sun.script.jruby.JRubyScriptEngine;
    .... other imports

public class ScriptEngine {

    private static ScriptEngine engine = new JRubyScriptEngine();

    public void run(final String script, final Map<String,Object> input) {
        final Bindings context = engine.createBindings();

        context.putAll(input);

        try {
            engine.eval(script,context);
        } catch (ScriptException e) {
            log.error("Failed to execute script: "+getScript(),e);
        }
    }

}