Nashorn * is a JavaScript engine developed entirely in the Java programming language by Oracle. Based on Da Vinci Machine (JSR 292) and will be available as part of Java 8 (which is expected to be released in March 2014). It is worth noting that the execution of JavaScript (and support for scripts in general ) was already in Java 6, but it used the Rhino engine, also written in Java, but supported by the Mozilla Foundation .javac and java commands are executed for Java 8. import javax.script.*; public class EvalScript { public static void main(String[] args) throws Exception { // create a script engine manager ScriptEngineManager factory = new ScriptEngineManager(); // create a Nashorn script engine ScriptEngine engine = factory.getEngineByName("nashorn"); // evaluate JavaScript statement try { engine.eval("print('Hello, World!');"); } catch (final ScriptException se) { se.printStackTrace(); } } } ./javac EvalScript.java ./java EvalScript Hello, World! var MyClass = Java.type("EvalScript.MyClass"); var my = new MyClass(); my.printMsg("Hello!"); import javax.script.*; import java.io.*; public class EvalScript { public static void main(String[] args) throws Exception { // create a script engine manager ScriptEngineManager factory = new ScriptEngineManager(); // create a Nashorn script engine ScriptEngine engine = factory.getEngineByName("nashorn"); // evaluate JavaScript statement try { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); engine.eval(br); } catch (final ScriptException se) { se.printStackTrace(); } } public static class MyClass { public void printMsg(String msg) { System.out.println("printMsg : "+msg); } } } ./java EvalScript < MyScript.js printMsg : Hello! Source: https://habr.com/ru/post/195870/
All Articles