Я работаю над созданием сценариев (JavaScript) для работы на Java.Java-скриптинг NoSuchMethodException?
У меня есть программа в JavaScript, определенный в моей программе Java (наряду с экземплярами всех связанных необходимо скриптового движка вещи), как так:
static ScriptEngineManager engineManager = new ScriptEngineManager();
static ScriptEngine jsengine = engineManager.getEngineByName("js");
static Invocable jsinvoke = (Invocable) jsengine;
static String program =
"//importPackage(javax.swing);" +
"function myMethod(x, y) {" +
"return x+y;" +
"}";
В начале программы я делаю назвать это, который работает без жалоб:
try {
jsengine.eval(program);
} catch(ScriptException e) {e.printStackTrace();}
Затем я называю myMethod
с этим:
try {
jsinvoke.invokeFunction("myMethod", x, y);
} catch(ScriptException se) {
se.printStackTrace();
}
catch(NoSuchMethodException nsme) {
nsme.printStackTrace();
}
Ошибка java.lang.NoSuchMethodException: no such method: myMethod
. Он явно существует в JavaScript, так что я сделал не так?
Нет новой строки. Хорошо поймал. –
yeah thanks :) .. – mprabhat
Или он мог просто прокомментировать всю строку в Java, а не в своей строке Javascript. Тот же эффект, минус ошибки. –