invoke beanshell methods from java
Hello
I'm learning beanshell and using it to write scripts that are ran in JDK 6.
My question is how to invok beanshell methods from java source codes.
My codes is:
import javax.script.*;
public class InvokeFunctions {
public static void main (String[] args)throws ScriptException, NoSuchMethodException
{
ScriptEngineManager sem = new ScriptEngineManager();
ScriptEngine bshEngine = sem.getEngineByName("beanshell");
String script = "public void sayHello()"+"{print (\"sayHello() is a method in bsh script\");}";
bshEngine.eval(script);
Invocable inbshEngine = (Invocable)bshEngine;
inbshEngine.invokeFunction("sayHello");
}
}
I defined a method "sayHello()" using beanshell, but i just can't invoke it in Java.
I got an error msg said:
Exception in thread "main" java.lang.IllegalAccessError: tried to access method bsh.NameSpace.getThis(Lbsh/Interpreter;)Lbsh/This; from class bsh.engine.BshScriptEngine
Any one has any idea about it?
Thanks

