Я новичок в nashorn engine. В моем java-коде я указываю путь javascript в filereader, но он бросает filenotfoundexception в runtime.If я помещаю свой javascript на рабочий стол и указываю это местоположение своим кодом is works.but Если я помещаю свою функцию javascript в одну из папки в проекте, это не работает, то выдает исключение, не найденное в файле. Вот мой код ошибкиФайл не найден Исключением при выполнении javascript в Nashorn
engine.eval(new FileReader("res/nashorn1.js"));
Вот мой рабочий код
engine.eval(new FileReader("C:/Users/selva/Desktop/res/nashorn1.js"));
Я использую Java автономное приложение. Мой код
public class Nashorn1 {
public static void main(String[] args) throws Exception {
ScriptEngine engine = new ScriptEngineManager().getEngineByName("nashorn");
engine.eval(new FileReader("C:/Users/selva/Desktop/res/nashorn1.js"));
Invocable invocable = (Invocable) engine;
Object result = invocable.invokeFunction("fun1", "Peter Parker");
System.out.println(result);
System.out.println(result.getClass());
invocable.invokeFunction("fun2", new Date());
invocable.invokeFunction("fun2", LocalDateTime.now());
invocable.invokeFunction("fun2", new Person());
}
}
nashorn1.js
var fun1 = function(name) {
print('Hi there from Javascript, ' + name);
return "greetings from javascript";
};
var fun2 = function (object) {
print("JS Class Definition: " + Object.prototype.toString.call(object));
};
Любая помощь будет весьма признателен !!